{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "8bd2578c",
   "metadata": {},
   "source": [
    "# 3-2,中阶API示范\n",
    "\n",
    "下面的范例使用Pytorch的中阶API实现线性回归模型和和DNN二分类模型。\n",
    "\n",
    "Pytorch的中阶API主要包括各种模型层，损失函数，优化器，数据管道等等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "f2e6ae11",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import datetime\n",
    "\n",
    "#打印时间\n",
    "def printbar():\n",
    "    nowtime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')\n",
    "    print(\"\\n\"+\"==========\"*8 + \"%s\"%nowtime)\n",
    "\n",
    "#mac系统上pytorch和matplotlib在jupyter中同时跑需要更改环境变量\n",
    "os.environ[\"KMP_DUPLICATE_LIB_OK\"]=\"TRUE\" \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "95872f92",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.__version__=1.10.0\n"
     ]
    }
   ],
   "source": [
    "import torch \n",
    "print(\"torch.__version__=\"+torch.__version__) \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6e2521f2",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "c703f7e1",
   "metadata": {},
   "source": [
    "### 一，线性回归模型"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a72e5f7c",
   "metadata": {},
   "source": [
    "**1，准备数据**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "a19c99d1",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np \n",
    "import pandas as pd\n",
    "from matplotlib import pyplot as plt \n",
    "import torch\n",
    "from torch import nn\n",
    "import torch.nn.functional as F\n",
    "from torch.utils.data import Dataset,DataLoader,TensorDataset\n",
    "\n",
    "#样本数量\n",
    "n = 400\n",
    "\n",
    "# 生成测试用数据集\n",
    "X = 10*torch.rand([n,2])-5.0  #torch.rand是均匀分布 \n",
    "w0 = torch.tensor([[2.0],[-3.0]])\n",
    "b0 = torch.tensor([[10.0]])\n",
    "Y = X@w0 + b0 + torch.normal( 0.0,2.0,size = [n,1])  # @表示矩阵乘法,增加正态扰动\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "a1c16fc3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       "  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Created with matplotlib (https://matplotlib.org/) -->\n",
       "<svg height=\"316.55625pt\" version=\"1.1\" viewBox=\"0 0 719.064062 316.55625\" width=\"719.064062pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       " <metadata>\n",
       "  <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n",
       "   <cc:Work>\n",
       "    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n",
       "    <dc:date>2022-08-25T19:44:43.059968</dc:date>\n",
       "    <dc:format>image/svg+xml</dc:format>\n",
       "    <dc:creator>\n",
       "     <cc:Agent>\n",
       "      <dc:title>Matplotlib v3.3.4, https://matplotlib.org/</dc:title>\n",
       "     </cc:Agent>\n",
       "    </dc:creator>\n",
       "   </cc:Work>\n",
       "  </rdf:RDF>\n",
       " </metadata>\n",
       " <defs>\n",
       "  <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\n",
       " </defs>\n",
       " <g id=\"figure_1\">\n",
       "  <g id=\"patch_1\">\n",
       "   <path d=\"M 0 316.55625 \n",
       "L 719.064062 316.55625 \n",
       "L 719.064062 0 \n",
       "L 0 0 \n",
       "z\n",
       "\" style=\"fill:none;\"/>\n",
       "  </g>\n",
       "  <g id=\"axes_1\">\n",
       "   <g id=\"patch_2\">\n",
       "    <path d=\"M 42.264062 279 \n",
       "L 346.627699 279 \n",
       "L 346.627699 7.2 \n",
       "L 42.264062 7.2 \n",
       "z\n",
       "\" style=\"fill:#ffffff;\"/>\n",
       "   </g>\n",
       "   <g id=\"PathCollection_1\">\n",
       "    <defs>\n",
       "     <path d=\"M 0 3 \n",
       "C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n",
       "C 2.683901 1.55874 3 0.795609 3 0 \n",
       "C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n",
       "C 1.55874 -2.683901 0.795609 -3 0 -3 \n",
       "C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n",
       "C -2.683901 -1.55874 -3 -0.795609 -3 0 \n",
       "C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n",
       "C -1.55874 2.683901 -0.795609 3 0 3 \n",
       "z\n",
       "\" id=\"md292cba6d3\" style=\"stroke:#0000ff;\"/>\n",
       "    </defs>\n",
       "    <g clip-path=\"url(#pe7b50dbec5)\">\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"229.033049\" xlink:href=\"#md292cba6d3\" y=\"199.771522\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"154.180663\" xlink:href=\"#md292cba6d3\" y=\"148.545441\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"210.071368\" xlink:href=\"#md292cba6d3\" y=\"172.308479\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"119.750685\" xlink:href=\"#md292cba6d3\" y=\"128.60765\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"117.43802\" xlink:href=\"#md292cba6d3\" y=\"108.450802\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"262.221916\" xlink:href=\"#md292cba6d3\" y=\"58.763209\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"323.262992\" xlink:href=\"#md292cba6d3\" y=\"26.450331\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"75.210216\" xlink:href=\"#md292cba6d3\" y=\"230.166823\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"188.49149\" xlink:href=\"#md292cba6d3\" y=\"115.830335\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"191.55137\" xlink:href=\"#md292cba6d3\" y=\"158.814664\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"190.634584\" xlink:href=\"#md292cba6d3\" y=\"64.209014\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"187.034404\" xlink:href=\"#md292cba6d3\" y=\"113.003451\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"264.094183\" xlink:href=\"#md292cba6d3\" y=\"72.217041\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"271.791437\" xlink:href=\"#md292cba6d3\" y=\"115.162716\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"119.538972\" xlink:href=\"#md292cba6d3\" y=\"101.872333\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"195.809515\" xlink:href=\"#md292cba6d3\" y=\"184.831964\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"210.002196\" xlink:href=\"#md292cba6d3\" y=\"155.2871\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"70.643512\" xlink:href=\"#md292cba6d3\" y=\"221.634009\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"297.507539\" xlink:href=\"#md292cba6d3\" y=\"53.807706\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"88.796448\" xlink:href=\"#md292cba6d3\" y=\"188.995852\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"258.998516\" xlink:href=\"#md292cba6d3\" y=\"154.224404\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"62.670359\" xlink:href=\"#md292cba6d3\" y=\"169.052396\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"269.272327\" xlink:href=\"#md292cba6d3\" y=\"182.635804\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"153.623745\" xlink:href=\"#md292cba6d3\" y=\"81.171636\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"114.575271\" xlink:href=\"#md292cba6d3\" y=\"209.761855\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"328.669051\" xlink:href=\"#md292cba6d3\" y=\"122.871276\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"69.615647\" xlink:href=\"#md292cba6d3\" y=\"266.645455\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"194.24515\" xlink:href=\"#md292cba6d3\" y=\"203.235398\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"93.617669\" xlink:href=\"#md292cba6d3\" y=\"98.884961\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"157.588397\" xlink:href=\"#md292cba6d3\" y=\"128.692046\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"181.72426\" xlink:href=\"#md292cba6d3\" y=\"147.228798\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"313.444984\" xlink:href=\"#md292cba6d3\" y=\"26.914755\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"202.467379\" xlink:href=\"#md292cba6d3\" y=\"189.873147\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"157.64302\" xlink:href=\"#md292cba6d3\" y=\"175.714006\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"109.915665\" xlink:href=\"#md292cba6d3\" y=\"118.977753\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"270.549336\" xlink:href=\"#md292cba6d3\" y=\"91.481704\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"108.429707\" xlink:href=\"#md292cba6d3\" y=\"182.493089\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"67.822403\" xlink:href=\"#md292cba6d3\" y=\"192.762078\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"191.65743\" xlink:href=\"#md292cba6d3\" y=\"53.09681\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"234.780699\" xlink:href=\"#md292cba6d3\" y=\"124.020129\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"210.412504\" xlink:href=\"#md292cba6d3\" y=\"75.392777\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"92.202369\" xlink:href=\"#md292cba6d3\" y=\"169.071701\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"183.544768\" xlink:href=\"#md292cba6d3\" y=\"119.501335\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"169.196825\" xlink:href=\"#md292cba6d3\" y=\"75.935221\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"332.792988\" xlink:href=\"#md292cba6d3\" y=\"93.875059\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"135.158149\" xlink:href=\"#md292cba6d3\" y=\"128.337827\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"161.045321\" xlink:href=\"#md292cba6d3\" y=\"221.197148\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"314.78881\" xlink:href=\"#md292cba6d3\" y=\"19.816364\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"98.543531\" xlink:href=\"#md292cba6d3\" y=\"103.554783\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"156.298278\" xlink:href=\"#md292cba6d3\" y=\"92.04778\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"121.7084\" xlink:href=\"#md292cba6d3\" y=\"149.678101\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"297.425545\" xlink:href=\"#md292cba6d3\" y=\"29.722196\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"285.838238\" xlink:href=\"#md292cba6d3\" y=\"168.830064\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"251.719562\" xlink:href=\"#md292cba6d3\" y=\"189.2838\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"107.619751\" xlink:href=\"#md292cba6d3\" y=\"218.579226\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"306.866585\" xlink:href=\"#md292cba6d3\" y=\"108.595976\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"318.998569\" xlink:href=\"#md292cba6d3\" y=\"34.72824\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"286.966543\" xlink:href=\"#md292cba6d3\" y=\"48.875099\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"187.342145\" xlink:href=\"#md292cba6d3\" y=\"79.953536\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"216.104608\" xlink:href=\"#md292cba6d3\" y=\"93.549388\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"307.624214\" xlink:href=\"#md292cba6d3\" y=\"74.683777\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"200.801866\" xlink:href=\"#md292cba6d3\" y=\"206.348911\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"288.012745\" xlink:href=\"#md292cba6d3\" y=\"162.598983\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"162.112377\" xlink:href=\"#md292cba6d3\" y=\"183.370433\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"162.383638\" xlink:href=\"#md292cba6d3\" y=\"148.32314\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"294.226063\" xlink:href=\"#md292cba6d3\" y=\"55.059464\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"321.770704\" xlink:href=\"#md292cba6d3\" y=\"57.682582\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"151.637855\" xlink:href=\"#md292cba6d3\" y=\"224.401464\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"64.516714\" xlink:href=\"#md292cba6d3\" y=\"175.712085\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"262.022712\" xlink:href=\"#md292cba6d3\" y=\"207.535883\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"324.459157\" xlink:href=\"#md292cba6d3\" y=\"39.323927\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"285.604488\" xlink:href=\"#md292cba6d3\" y=\"160.417918\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"97.199438\" xlink:href=\"#md292cba6d3\" y=\"137.817495\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"150.209258\" xlink:href=\"#md292cba6d3\" y=\"86.364046\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"220.25415\" xlink:href=\"#md292cba6d3\" y=\"77.520945\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"215.194996\" xlink:href=\"#md292cba6d3\" y=\"126.820762\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"77.500367\" xlink:href=\"#md292cba6d3\" y=\"183.854256\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"320.820604\" xlink:href=\"#md292cba6d3\" y=\"128.076349\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"68.862542\" xlink:href=\"#md292cba6d3\" y=\"210.887085\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"140.40157\" xlink:href=\"#md292cba6d3\" y=\"135.531693\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"317.819189\" xlink:href=\"#md292cba6d3\" y=\"148.599375\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"236.53344\" xlink:href=\"#md292cba6d3\" y=\"139.137271\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"73.684987\" xlink:href=\"#md292cba6d3\" y=\"163.256038\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"308.701549\" xlink:href=\"#md292cba6d3\" y=\"118.638885\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"56.418173\" xlink:href=\"#md292cba6d3\" y=\"189.764847\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"178.721962\" xlink:href=\"#md292cba6d3\" y=\"101.845258\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"149.94847\" xlink:href=\"#md292cba6d3\" y=\"215.774418\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"232.757078\" xlink:href=\"#md292cba6d3\" y=\"71.866329\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"144.890575\" xlink:href=\"#md292cba6d3\" y=\"115.394758\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"140.151918\" xlink:href=\"#md292cba6d3\" y=\"85.144795\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"139.219686\" xlink:href=\"#md292cba6d3\" y=\"208.171992\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"247.986512\" xlink:href=\"#md292cba6d3\" y=\"93.0049\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"92.503458\" xlink:href=\"#md292cba6d3\" y=\"227.967599\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"95.121328\" xlink:href=\"#md292cba6d3\" y=\"250.957531\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"147.491787\" xlink:href=\"#md292cba6d3\" y=\"165.774769\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"318.874386\" xlink:href=\"#md292cba6d3\" y=\"113.613334\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"128.914695\" xlink:href=\"#md292cba6d3\" y=\"197.978143\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"172.382293\" xlink:href=\"#md292cba6d3\" y=\"92.841143\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"99.584641\" xlink:href=\"#md292cba6d3\" y=\"121.226027\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"150.350132\" xlink:href=\"#md292cba6d3\" y=\"214.355277\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"293.343341\" xlink:href=\"#md292cba6d3\" y=\"155.927552\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"101.583648\" xlink:href=\"#md292cba6d3\" y=\"93.404265\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"313.834453\" xlink:href=\"#md292cba6d3\" y=\"93.909932\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"74.871368\" xlink:href=\"#md292cba6d3\" y=\"105.487241\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"137.656405\" xlink:href=\"#md292cba6d3\" y=\"169.501181\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"185.184637\" xlink:href=\"#md292cba6d3\" y=\"100.572023\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"61.264041\" xlink:href=\"#md292cba6d3\" y=\"235.79017\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"123.634025\" xlink:href=\"#md292cba6d3\" y=\"188.302569\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"201.001097\" xlink:href=\"#md292cba6d3\" y=\"81.164953\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"265.727333\" xlink:href=\"#md292cba6d3\" y=\"62.5069\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"174.747773\" xlink:href=\"#md292cba6d3\" y=\"102.656647\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"204.925187\" xlink:href=\"#md292cba6d3\" y=\"64.368425\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"174.108693\" xlink:href=\"#md292cba6d3\" y=\"111.334561\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"97.787977\" xlink:href=\"#md292cba6d3\" y=\"197.549038\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"95.228486\" xlink:href=\"#md292cba6d3\" y=\"122.066474\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"290.47216\" xlink:href=\"#md292cba6d3\" y=\"73.343836\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"255.097461\" xlink:href=\"#md292cba6d3\" y=\"147.213095\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"217.887813\" xlink:href=\"#md292cba6d3\" y=\"117.626056\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"152.486359\" xlink:href=\"#md292cba6d3\" y=\"130.575555\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"328.89536\" xlink:href=\"#md292cba6d3\" y=\"134.170767\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"144.646036\" xlink:href=\"#md292cba6d3\" y=\"107.21469\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"267.504595\" xlink:href=\"#md292cba6d3\" y=\"81.020971\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"97.569084\" xlink:href=\"#md292cba6d3\" y=\"222.861297\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"132.673772\" xlink:href=\"#md292cba6d3\" y=\"149.990904\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"206.290147\" xlink:href=\"#md292cba6d3\" y=\"168.389798\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"113.398019\" xlink:href=\"#md292cba6d3\" y=\"224.826127\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"236.252321\" xlink:href=\"#md292cba6d3\" y=\"114.969464\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"75.024529\" xlink:href=\"#md292cba6d3\" y=\"132.075639\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"155.97566\" xlink:href=\"#md292cba6d3\" y=\"191.443568\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"56.404654\" xlink:href=\"#md292cba6d3\" y=\"220.208031\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"105.269577\" xlink:href=\"#md292cba6d3\" y=\"138.784452\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"204.121341\" xlink:href=\"#md292cba6d3\" y=\"135.848384\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"328.680535\" xlink:href=\"#md292cba6d3\" y=\"57.590467\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"249.12444\" xlink:href=\"#md292cba6d3\" y=\"178.761655\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"270.68337\" xlink:href=\"#md292cba6d3\" y=\"151.717228\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"164.075914\" xlink:href=\"#md292cba6d3\" y=\"156.339472\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"173.492528\" xlink:href=\"#md292cba6d3\" y=\"143.635287\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"161.260259\" xlink:href=\"#md292cba6d3\" y=\"171.102508\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"60.32857\" xlink:href=\"#md292cba6d3\" y=\"202.93733\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"78.824235\" xlink:href=\"#md292cba6d3\" y=\"189.857975\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"130.275385\" xlink:href=\"#md292cba6d3\" y=\"128.741431\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"133.247059\" xlink:href=\"#md292cba6d3\" y=\"132.743594\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"190.238142\" xlink:href=\"#md292cba6d3\" y=\"113.254641\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"257.426094\" xlink:href=\"#md292cba6d3\" y=\"164.060269\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"80.270989\" xlink:href=\"#md292cba6d3\" y=\"162.166028\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"58.205607\" xlink:href=\"#md292cba6d3\" y=\"179.294422\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"289.253187\" xlink:href=\"#md292cba6d3\" y=\"142.159612\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"264.997705\" xlink:href=\"#md292cba6d3\" y=\"129.124272\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"292.983908\" xlink:href=\"#md292cba6d3\" y=\"157.081935\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"214.812073\" xlink:href=\"#md292cba6d3\" y=\"118.233398\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"139.148935\" xlink:href=\"#md292cba6d3\" y=\"125.550478\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"222.464823\" xlink:href=\"#md292cba6d3\" y=\"187.988609\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"200.317446\" xlink:href=\"#md292cba6d3\" y=\"103.913697\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"168.810181\" xlink:href=\"#md292cba6d3\" y=\"201.084323\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"200.829679\" xlink:href=\"#md292cba6d3\" y=\"198.281617\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"324.448128\" xlink:href=\"#md292cba6d3\" y=\"167.183766\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"251.378961\" xlink:href=\"#md292cba6d3\" y=\"109.38927\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"185.515748\" xlink:href=\"#md292cba6d3\" y=\"131.628666\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"143.603648\" xlink:href=\"#md292cba6d3\" y=\"164.623061\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"281.483281\" xlink:href=\"#md292cba6d3\" y=\"55.221333\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"133.876228\" xlink:href=\"#md292cba6d3\" y=\"197.216283\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"214.5394\" xlink:href=\"#md292cba6d3\" y=\"90.100271\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"151.292028\" xlink:href=\"#md292cba6d3\" y=\"158.948954\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"249.358819\" xlink:href=\"#md292cba6d3\" y=\"185.738619\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"178.787373\" xlink:href=\"#md292cba6d3\" y=\"215.275361\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"162.430973\" xlink:href=\"#md292cba6d3\" y=\"189.700943\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"323.806465\" xlink:href=\"#md292cba6d3\" y=\"124.09073\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"242.423504\" xlink:href=\"#md292cba6d3\" y=\"162.521105\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"167.287081\" xlink:href=\"#md292cba6d3\" y=\"200.794289\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"70.933853\" xlink:href=\"#md292cba6d3\" y=\"207.384382\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"312.453284\" xlink:href=\"#md292cba6d3\" y=\"76.712115\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"269.921298\" xlink:href=\"#md292cba6d3\" y=\"43.594394\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"291.554581\" xlink:href=\"#md292cba6d3\" y=\"125.995141\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"256.864899\" xlink:href=\"#md292cba6d3\" y=\"168.801546\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"188.517269\" xlink:href=\"#md292cba6d3\" y=\"94.924202\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"123.072717\" xlink:href=\"#md292cba6d3\" y=\"212.676629\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"327.728347\" xlink:href=\"#md292cba6d3\" y=\"66.083686\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"155.638124\" xlink:href=\"#md292cba6d3\" y=\"188.545777\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"223.492501\" xlink:href=\"#md292cba6d3\" y=\"134.442201\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"319.776489\" xlink:href=\"#md292cba6d3\" y=\"95.025238\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"257.435945\" xlink:href=\"#md292cba6d3\" y=\"126.05915\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"270.863141\" xlink:href=\"#md292cba6d3\" y=\"93.819124\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"211.3892\" xlink:href=\"#md292cba6d3\" y=\"88.683478\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"231.830374\" xlink:href=\"#md292cba6d3\" y=\"104.004735\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"77.530134\" xlink:href=\"#md292cba6d3\" y=\"138.14539\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"92.859525\" xlink:href=\"#md292cba6d3\" y=\"196.990332\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"116.810532\" xlink:href=\"#md292cba6d3\" y=\"173.357521\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"291.716724\" xlink:href=\"#md292cba6d3\" y=\"37.253619\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"331.824256\" xlink:href=\"#md292cba6d3\" y=\"83.954497\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"218.979376\" xlink:href=\"#md292cba6d3\" y=\"96.881019\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"153.033546\" xlink:href=\"#md292cba6d3\" y=\"111.461396\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"247.068093\" xlink:href=\"#md292cba6d3\" y=\"144.788319\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"321.48304\" xlink:href=\"#md292cba6d3\" y=\"72.516383\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"240.98968\" xlink:href=\"#md292cba6d3\" y=\"182.617799\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"277.569404\" xlink:href=\"#md292cba6d3\" y=\"94.366917\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"280.290917\" xlink:href=\"#md292cba6d3\" y=\"34.366914\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"218.539421\" xlink:href=\"#md292cba6d3\" y=\"105.957732\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"103.170238\" xlink:href=\"#md292cba6d3\" y=\"174.973872\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"212.323306\" xlink:href=\"#md292cba6d3\" y=\"112.692873\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"141.353263\" xlink:href=\"#md292cba6d3\" y=\"150.025737\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"287.77597\" xlink:href=\"#md292cba6d3\" y=\"54.849954\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"142.062452\" xlink:href=\"#md292cba6d3\" y=\"108.655267\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"269.259719\" xlink:href=\"#md292cba6d3\" y=\"72.566077\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"138.902924\" xlink:href=\"#md292cba6d3\" y=\"213.464146\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"94.613806\" xlink:href=\"#md292cba6d3\" y=\"142.759309\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"149.247928\" xlink:href=\"#md292cba6d3\" y=\"197.607731\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"113.18741\" xlink:href=\"#md292cba6d3\" y=\"111.231799\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"303.386132\" xlink:href=\"#md292cba6d3\" y=\"94.501205\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"88.08659\" xlink:href=\"#md292cba6d3\" y=\"171.587274\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"177.1983\" xlink:href=\"#md292cba6d3\" y=\"199.99194\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"200.686463\" xlink:href=\"#md292cba6d3\" y=\"156.155129\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"277.826403\" xlink:href=\"#md292cba6d3\" y=\"90.73009\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"195.210295\" xlink:href=\"#md292cba6d3\" y=\"142.54457\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"211.12247\" xlink:href=\"#md292cba6d3\" y=\"186.395224\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"107.095519\" xlink:href=\"#md292cba6d3\" y=\"115.387126\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"127.156727\" xlink:href=\"#md292cba6d3\" y=\"145.14003\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"180.831138\" xlink:href=\"#md292cba6d3\" y=\"86.090288\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"246.093552\" xlink:href=\"#md292cba6d3\" y=\"195.073779\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"302.7665\" xlink:href=\"#md292cba6d3\" y=\"115.568024\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"177.85648\" xlink:href=\"#md292cba6d3\" y=\"114.257799\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"211.273423\" xlink:href=\"#md292cba6d3\" y=\"174.139796\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"312.818526\" xlink:href=\"#md292cba6d3\" y=\"142.8993\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"113.278406\" xlink:href=\"#md292cba6d3\" y=\"241.331349\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"290.383553\" xlink:href=\"#md292cba6d3\" y=\"98.342995\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"143.291316\" xlink:href=\"#md292cba6d3\" y=\"162.662914\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"202.906184\" xlink:href=\"#md292cba6d3\" y=\"126.927229\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"248.153553\" xlink:href=\"#md292cba6d3\" y=\"166.901825\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"133.118198\" xlink:href=\"#md292cba6d3\" y=\"102.13289\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"297.641467\" xlink:href=\"#md292cba6d3\" y=\"157.821658\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"291.106515\" xlink:href=\"#md292cba6d3\" y=\"136.215151\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"165.860585\" xlink:href=\"#md292cba6d3\" y=\"126.420776\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"185.402633\" xlink:href=\"#md292cba6d3\" y=\"165.539209\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"165.116308\" xlink:href=\"#md292cba6d3\" y=\"80.199621\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"147.670874\" xlink:href=\"#md292cba6d3\" y=\"114.589132\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"184.412258\" xlink:href=\"#md292cba6d3\" y=\"100.854242\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"221.146375\" xlink:href=\"#md292cba6d3\" y=\"77.880687\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"261.475237\" xlink:href=\"#md292cba6d3\" y=\"60.59754\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"176.565337\" xlink:href=\"#md292cba6d3\" y=\"161.748923\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"261.14699\" xlink:href=\"#md292cba6d3\" y=\"74.484339\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"88.695193\" xlink:href=\"#md292cba6d3\" y=\"203.568487\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"286.10885\" xlink:href=\"#md292cba6d3\" y=\"19.738941\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"136.067486\" xlink:href=\"#md292cba6d3\" y=\"149.763657\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"192.223336\" xlink:href=\"#md292cba6d3\" y=\"114.93067\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"223.905433\" xlink:href=\"#md292cba6d3\" y=\"142.570955\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"134.82428\" xlink:href=\"#md292cba6d3\" y=\"86.305524\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"82.520584\" xlink:href=\"#md292cba6d3\" y=\"104.702071\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"70.386071\" xlink:href=\"#md292cba6d3\" y=\"123.262581\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"171.065411\" xlink:href=\"#md292cba6d3\" y=\"218.301214\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"267.164744\" xlink:href=\"#md292cba6d3\" y=\"117.347579\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"129.804866\" xlink:href=\"#md292cba6d3\" y=\"182.988407\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"296.840017\" xlink:href=\"#md292cba6d3\" y=\"85.523723\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"147.442317\" xlink:href=\"#md292cba6d3\" y=\"138.652553\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"117.947195\" xlink:href=\"#md292cba6d3\" y=\"98.81587\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"200.031321\" xlink:href=\"#md292cba6d3\" y=\"146.373904\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"146.246627\" xlink:href=\"#md292cba6d3\" y=\"166.434642\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"61.686034\" xlink:href=\"#md292cba6d3\" y=\"194.133596\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"177.109385\" xlink:href=\"#md292cba6d3\" y=\"117.815244\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"165.075404\" xlink:href=\"#md292cba6d3\" y=\"129.913212\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"315.544966\" xlink:href=\"#md292cba6d3\" y=\"142.465564\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"227.68482\" xlink:href=\"#md292cba6d3\" y=\"108.339202\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"246.946975\" xlink:href=\"#md292cba6d3\" y=\"66.9058\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"288.999573\" xlink:href=\"#md292cba6d3\" y=\"45.276918\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"165.781247\" xlink:href=\"#md292cba6d3\" y=\"133.840051\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"213.549038\" xlink:href=\"#md292cba6d3\" y=\"72.624562\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"294.66037\" xlink:href=\"#md292cba6d3\" y=\"90.891029\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"145.291962\" xlink:href=\"#md292cba6d3\" y=\"191.254101\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"276.870936\" xlink:href=\"#md292cba6d3\" y=\"125.405419\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"222.131302\" xlink:href=\"#md292cba6d3\" y=\"71.283544\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"242.331644\" xlink:href=\"#md292cba6d3\" y=\"166.833717\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"140.614962\" xlink:href=\"#md292cba6d3\" y=\"164.563671\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"305.035021\" xlink:href=\"#md292cba6d3\" y=\"19.554545\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"56.96099\" xlink:href=\"#md292cba6d3\" y=\"114.452667\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"205.029079\" xlink:href=\"#md292cba6d3\" y=\"214.490619\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"156.383271\" xlink:href=\"#md292cba6d3\" y=\"141.105089\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"306.177166\" xlink:href=\"#md292cba6d3\" y=\"165.755241\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"311.483053\" xlink:href=\"#md292cba6d3\" y=\"43.002734\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"293.636975\" xlink:href=\"#md292cba6d3\" y=\"130.116577\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"167.101314\" xlink:href=\"#md292cba6d3\" y=\"146.101655\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"71.977272\" xlink:href=\"#md292cba6d3\" y=\"175.882062\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"236.002884\" xlink:href=\"#md292cba6d3\" y=\"98.083119\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"87.551229\" xlink:href=\"#md292cba6d3\" y=\"227.935157\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"112.843236\" xlink:href=\"#md292cba6d3\" y=\"149.871813\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"264.969651\" xlink:href=\"#md292cba6d3\" y=\"89.959115\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"106.017983\" xlink:href=\"#md292cba6d3\" y=\"106.588738\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"311.456578\" xlink:href=\"#md292cba6d3\" y=\"91.398445\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"312.990011\" xlink:href=\"#md292cba6d3\" y=\"88.06014\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"268.285191\" xlink:href=\"#md292cba6d3\" y=\"167.957614\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"227.183014\" xlink:href=\"#md292cba6d3\" y=\"155.904491\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"146.033743\" xlink:href=\"#md292cba6d3\" y=\"214.529584\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"87.496659\" xlink:href=\"#md292cba6d3\" y=\"158.935967\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"246.62376\" xlink:href=\"#md292cba6d3\" y=\"163.007432\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"330.13208\" xlink:href=\"#md292cba6d3\" y=\"111.130749\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"215.046412\" xlink:href=\"#md292cba6d3\" y=\"82.221368\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"73.239102\" xlink:href=\"#md292cba6d3\" y=\"201.153693\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"194.014679\" xlink:href=\"#md292cba6d3\" y=\"143.229602\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"258.120479\" xlink:href=\"#md292cba6d3\" y=\"93.816914\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"197.741117\" xlink:href=\"#md292cba6d3\" y=\"150.882592\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"104.295056\" xlink:href=\"#md292cba6d3\" y=\"132.748285\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"162.595003\" xlink:href=\"#md292cba6d3\" y=\"94.450075\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"133.996469\" xlink:href=\"#md292cba6d3\" y=\"165.082217\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"258.13812\" xlink:href=\"#md292cba6d3\" y=\"110.453883\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"102.747248\" xlink:href=\"#md292cba6d3\" y=\"125.712655\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"254.225983\" xlink:href=\"#md292cba6d3\" y=\"188.703934\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"106.305506\" xlink:href=\"#md292cba6d3\" y=\"144.430791\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"74.990465\" xlink:href=\"#md292cba6d3\" y=\"214.546557\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"79.578892\" xlink:href=\"#md292cba6d3\" y=\"235.732826\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"167.325227\" xlink:href=\"#md292cba6d3\" y=\"80.907406\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"121.647044\" xlink:href=\"#md292cba6d3\" y=\"187.425386\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"91.923365\" xlink:href=\"#md292cba6d3\" y=\"246.108486\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"131.016698\" xlink:href=\"#md292cba6d3\" y=\"203.558937\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"232.731044\" xlink:href=\"#md292cba6d3\" y=\"184.18702\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"74.366751\" xlink:href=\"#md292cba6d3\" y=\"138.822859\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"217.695006\" xlink:href=\"#md292cba6d3\" y=\"129.018467\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"293.864221\" xlink:href=\"#md292cba6d3\" y=\"113.425628\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"237.020898\" xlink:href=\"#md292cba6d3\" y=\"141.935134\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"208.268153\" xlink:href=\"#md292cba6d3\" y=\"149.87623\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"151.032445\" xlink:href=\"#md292cba6d3\" y=\"113.870186\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"193.773111\" xlink:href=\"#md292cba6d3\" y=\"161.820994\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"88.504441\" xlink:href=\"#md292cba6d3\" y=\"192.801372\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"125.527379\" xlink:href=\"#md292cba6d3\" y=\"187.091765\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"156.66686\" xlink:href=\"#md292cba6d3\" y=\"73.379205\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"314.159808\" xlink:href=\"#md292cba6d3\" y=\"80.511272\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"118.039918\" xlink:href=\"#md292cba6d3\" y=\"159.472534\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"92.419115\" xlink:href=\"#md292cba6d3\" y=\"120.849341\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"111.491634\" xlink:href=\"#md292cba6d3\" y=\"152.433565\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"158.15603\" xlink:href=\"#md292cba6d3\" y=\"141.673932\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"83.025991\" xlink:href=\"#md292cba6d3\" y=\"250.545421\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"328.962042\" xlink:href=\"#md292cba6d3\" y=\"28.61709\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"279.682234\" xlink:href=\"#md292cba6d3\" y=\"67.339089\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"274.575993\" xlink:href=\"#md292cba6d3\" y=\"40.227661\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"127.726688\" xlink:href=\"#md292cba6d3\" y=\"124.639572\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"262.301689\" xlink:href=\"#md292cba6d3\" y=\"113.05326\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"295.610952\" xlink:href=\"#md292cba6d3\" y=\"97.403127\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"129.529924\" xlink:href=\"#md292cba6d3\" y=\"150.738194\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"143.690702\" xlink:href=\"#md292cba6d3\" y=\"125.577912\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"56.098773\" xlink:href=\"#md292cba6d3\" y=\"173.317633\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"117.243761\" xlink:href=\"#md292cba6d3\" y=\"155.80213\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"186.135139\" xlink:href=\"#md292cba6d3\" y=\"69.457867\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"178.470865\" xlink:href=\"#md292cba6d3\" y=\"68.214579\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"235.797375\" xlink:href=\"#md292cba6d3\" y=\"96.865939\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"199.571597\" xlink:href=\"#md292cba6d3\" y=\"73.662566\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"214.65163\" xlink:href=\"#md292cba6d3\" y=\"200.259538\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"313.916367\" xlink:href=\"#md292cba6d3\" y=\"117.739372\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"244.666032\" xlink:href=\"#md292cba6d3\" y=\"173.15703\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"160.872604\" xlink:href=\"#md292cba6d3\" y=\"71.738706\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"228.760844\" xlink:href=\"#md292cba6d3\" y=\"189.408753\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"237.741478\" xlink:href=\"#md292cba6d3\" y=\"115.334334\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"263.684143\" xlink:href=\"#md292cba6d3\" y=\"157.422476\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"308.533892\" xlink:href=\"#md292cba6d3\" y=\"45.09347\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"112.841777\" xlink:href=\"#md292cba6d3\" y=\"204.260002\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"118.239785\" xlink:href=\"#md292cba6d3\" y=\"140.058409\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"218.205927\" xlink:href=\"#md292cba6d3\" y=\"113.851042\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"104.664895\" xlink:href=\"#md292cba6d3\" y=\"216.31252\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"271.280155\" xlink:href=\"#md292cba6d3\" y=\"77.458335\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"332.610902\" xlink:href=\"#md292cba6d3\" y=\"104.50625\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"99.743363\" xlink:href=\"#md292cba6d3\" y=\"113.18926\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"236.757822\" xlink:href=\"#md292cba6d3\" y=\"47.068717\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"315.111274\" xlink:href=\"#md292cba6d3\" y=\"48.443236\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"272.825768\" xlink:href=\"#md292cba6d3\" y=\"75.812147\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"208.313648\" xlink:href=\"#md292cba6d3\" y=\"137.969427\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"180.89485\" xlink:href=\"#md292cba6d3\" y=\"209.626736\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"295.070852\" xlink:href=\"#md292cba6d3\" y=\"39.793525\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"77.9623\" xlink:href=\"#md292cba6d3\" y=\"143.875292\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"67.178933\" xlink:href=\"#md292cba6d3\" y=\"127.400081\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"326.749442\" xlink:href=\"#md292cba6d3\" y=\"134.624328\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"244.582565\" xlink:href=\"#md292cba6d3\" y=\"79.54351\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"311.45615\" xlink:href=\"#md292cba6d3\" y=\"126.857402\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"312.61548\" xlink:href=\"#md292cba6d3\" y=\"161.385493\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"201.597319\" xlink:href=\"#md292cba6d3\" y=\"69.02362\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"273.144578\" xlink:href=\"#md292cba6d3\" y=\"79.085926\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"279.099972\" xlink:href=\"#md292cba6d3\" y=\"156.551801\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"251.370542\" xlink:href=\"#md292cba6d3\" y=\"150.200076\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"75.547939\" xlink:href=\"#md292cba6d3\" y=\"192.795324\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"91.976389\" xlink:href=\"#md292cba6d3\" y=\"208.039755\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"83.997607\" xlink:href=\"#md292cba6d3\" y=\"126.554893\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"301.799508\" xlink:href=\"#md292cba6d3\" y=\"39.649341\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"142.841241\" xlink:href=\"#md292cba6d3\" y=\"175.658487\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"142.105216\" xlink:href=\"#md292cba6d3\" y=\"166.404497\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"228.791602\" xlink:href=\"#md292cba6d3\" y=\"184.448179\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"161.23098\" xlink:href=\"#md292cba6d3\" y=\"165.979042\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"291.330628\" xlink:href=\"#md292cba6d3\" y=\"60.534599\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"179.050182\" xlink:href=\"#md292cba6d3\" y=\"208.824977\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"301.427252\" xlink:href=\"#md292cba6d3\" y=\"101.141064\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"259.83324\" xlink:href=\"#md292cba6d3\" y=\"48.52691\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"252.110623\" xlink:href=\"#md292cba6d3\" y=\"172.537768\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"329.275914\" xlink:href=\"#md292cba6d3\" y=\"75.167267\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"202.787354\" xlink:href=\"#md292cba6d3\" y=\"144.04361\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"86.527338\" xlink:href=\"#md292cba6d3\" y=\"158.752151\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"209.646778\" xlink:href=\"#md292cba6d3\" y=\"135.5675\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"247.539141\" xlink:href=\"#md292cba6d3\" y=\"148.282686\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"310.387755\" xlink:href=\"#md292cba6d3\" y=\"44.617916\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"263.235353\" xlink:href=\"#md292cba6d3\" y=\"192.022382\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"314.84698\" xlink:href=\"#md292cba6d3\" y=\"160.623669\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"174.500209\" xlink:href=\"#md292cba6d3\" y=\"166.230468\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"110.077988\" xlink:href=\"#md292cba6d3\" y=\"167.930958\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"108.302151\" xlink:href=\"#md292cba6d3\" y=\"190.931249\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"136.545521\" xlink:href=\"#md292cba6d3\" y=\"210.950264\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"199.563378\" xlink:href=\"#md292cba6d3\" y=\"119.714831\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"259.674484\" xlink:href=\"#md292cba6d3\" y=\"48.069814\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"247.082963\" xlink:href=\"#md292cba6d3\" y=\"165.140753\"/>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_1\">\n",
       "    <g id=\"xtick_1\">\n",
       "     <g id=\"line2d_1\">\n",
       "      <defs>\n",
       "       <path d=\"M 0 0 \n",
       "L 0 3.5 \n",
       "\" id=\"m96c1aad9b0\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"82.998164\" xlink:href=\"#m96c1aad9b0\" y=\"279\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_1\">\n",
       "      <!-- −4 -->\n",
       "      <g transform=\"translate(75.62707 293.598437)scale(0.1 -0.1)\">\n",
       "       <defs>\n",
       "        <path d=\"M 10.59375 35.5 \n",
       "L 73.1875 35.5 \n",
       "L 73.1875 27.203125 \n",
       "L 10.59375 27.203125 \n",
       "z\n",
       "\" id=\"DejaVuSans-8722\"/>\n",
       "        <path d=\"M 37.796875 64.3125 \n",
       "L 12.890625 25.390625 \n",
       "L 37.796875 25.390625 \n",
       "z\n",
       "M 35.203125 72.90625 \n",
       "L 47.609375 72.90625 \n",
       "L 47.609375 25.390625 \n",
       "L 58.015625 25.390625 \n",
       "L 58.015625 17.1875 \n",
       "L 47.609375 17.1875 \n",
       "L 47.609375 0 \n",
       "L 37.796875 0 \n",
       "L 37.796875 17.1875 \n",
       "L 4.890625 17.1875 \n",
       "L 4.890625 26.703125 \n",
       "z\n",
       "\" id=\"DejaVuSans-52\"/>\n",
       "       </defs>\n",
       "       <use xlink:href=\"#DejaVuSans-8722\"/>\n",
       "       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-52\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_2\">\n",
       "     <g id=\"line2d_2\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"139.137718\" xlink:href=\"#m96c1aad9b0\" y=\"279\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_2\">\n",
       "      <!-- −2 -->\n",
       "      <g transform=\"translate(131.766624 293.598437)scale(0.1 -0.1)\">\n",
       "       <defs>\n",
       "        <path d=\"M 19.1875 8.296875 \n",
       "L 53.609375 8.296875 \n",
       "L 53.609375 0 \n",
       "L 7.328125 0 \n",
       "L 7.328125 8.296875 \n",
       "Q 12.9375 14.109375 22.625 23.890625 \n",
       "Q 32.328125 33.6875 34.8125 36.53125 \n",
       "Q 39.546875 41.84375 41.421875 45.53125 \n",
       "Q 43.3125 49.21875 43.3125 52.78125 \n",
       "Q 43.3125 58.59375 39.234375 62.25 \n",
       "Q 35.15625 65.921875 28.609375 65.921875 \n",
       "Q 23.96875 65.921875 18.8125 64.3125 \n",
       "Q 13.671875 62.703125 7.8125 59.421875 \n",
       "L 7.8125 69.390625 \n",
       "Q 13.765625 71.78125 18.9375 73 \n",
       "Q 24.125 74.21875 28.421875 74.21875 \n",
       "Q 39.75 74.21875 46.484375 68.546875 \n",
       "Q 53.21875 62.890625 53.21875 53.421875 \n",
       "Q 53.21875 48.921875 51.53125 44.890625 \n",
       "Q 49.859375 40.875 45.40625 35.40625 \n",
       "Q 44.1875 33.984375 37.640625 27.21875 \n",
       "Q 31.109375 20.453125 19.1875 8.296875 \n",
       "z\n",
       "\" id=\"DejaVuSans-50\"/>\n",
       "       </defs>\n",
       "       <use xlink:href=\"#DejaVuSans-8722\"/>\n",
       "       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-50\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_3\">\n",
       "     <g id=\"line2d_3\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"195.277272\" xlink:href=\"#m96c1aad9b0\" y=\"279\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_3\">\n",
       "      <!-- 0 -->\n",
       "      <g transform=\"translate(192.096022 293.598437)scale(0.1 -0.1)\">\n",
       "       <defs>\n",
       "        <path d=\"M 31.78125 66.40625 \n",
       "Q 24.171875 66.40625 20.328125 58.90625 \n",
       "Q 16.5 51.421875 16.5 36.375 \n",
       "Q 16.5 21.390625 20.328125 13.890625 \n",
       "Q 24.171875 6.390625 31.78125 6.390625 \n",
       "Q 39.453125 6.390625 43.28125 13.890625 \n",
       "Q 47.125 21.390625 47.125 36.375 \n",
       "Q 47.125 51.421875 43.28125 58.90625 \n",
       "Q 39.453125 66.40625 31.78125 66.40625 \n",
       "z\n",
       "M 31.78125 74.21875 \n",
       "Q 44.046875 74.21875 50.515625 64.515625 \n",
       "Q 56.984375 54.828125 56.984375 36.375 \n",
       "Q 56.984375 17.96875 50.515625 8.265625 \n",
       "Q 44.046875 -1.421875 31.78125 -1.421875 \n",
       "Q 19.53125 -1.421875 13.0625 8.265625 \n",
       "Q 6.59375 17.96875 6.59375 36.375 \n",
       "Q 6.59375 54.828125 13.0625 64.515625 \n",
       "Q 19.53125 74.21875 31.78125 74.21875 \n",
       "z\n",
       "\" id=\"DejaVuSans-48\"/>\n",
       "       </defs>\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_4\">\n",
       "     <g id=\"line2d_4\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"251.416826\" xlink:href=\"#m96c1aad9b0\" y=\"279\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_4\">\n",
       "      <!-- 2 -->\n",
       "      <g transform=\"translate(248.235576 293.598437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-50\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_5\">\n",
       "     <g id=\"line2d_5\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"307.55638\" xlink:href=\"#m96c1aad9b0\" y=\"279\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_5\">\n",
       "      <!-- 4 -->\n",
       "      <g transform=\"translate(304.37513 293.598437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-52\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_6\">\n",
       "     <!-- x1 -->\n",
       "     <g transform=\"translate(188.305256 307.276562)scale(0.1 -0.1)\">\n",
       "      <defs>\n",
       "       <path d=\"M 54.890625 54.6875 \n",
       "L 35.109375 28.078125 \n",
       "L 55.90625 0 \n",
       "L 45.3125 0 \n",
       "L 29.390625 21.484375 \n",
       "L 13.484375 0 \n",
       "L 2.875 0 \n",
       "L 24.125 28.609375 \n",
       "L 4.6875 54.6875 \n",
       "L 15.28125 54.6875 \n",
       "L 29.78125 35.203125 \n",
       "L 44.28125 54.6875 \n",
       "z\n",
       "\" id=\"DejaVuSans-120\"/>\n",
       "       <path d=\"M 12.40625 8.296875 \n",
       "L 28.515625 8.296875 \n",
       "L 28.515625 63.921875 \n",
       "L 10.984375 60.40625 \n",
       "L 10.984375 69.390625 \n",
       "L 28.421875 72.90625 \n",
       "L 38.28125 72.90625 \n",
       "L 38.28125 8.296875 \n",
       "L 54.390625 8.296875 \n",
       "L 54.390625 0 \n",
       "L 12.40625 0 \n",
       "z\n",
       "\" id=\"DejaVuSans-49\"/>\n",
       "      </defs>\n",
       "      <use xlink:href=\"#DejaVuSans-120\"/>\n",
       "      <use x=\"59.179688\" xlink:href=\"#DejaVuSans-49\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_2\">\n",
       "    <g id=\"ytick_1\">\n",
       "     <g id=\"line2d_6\">\n",
       "      <defs>\n",
       "       <path d=\"M 0 0 \n",
       "L -3.5 0 \n",
       "\" id=\"m11f4fe706f\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"42.264062\" xlink:href=\"#m11f4fe706f\" y=\"233.085542\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_7\">\n",
       "      <!-- −10 -->\n",
       "      <g transform=\"translate(14.159375 236.88476)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-8722\"/>\n",
       "       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_2\">\n",
       "     <g id=\"line2d_7\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"42.264062\" xlink:href=\"#m11f4fe706f\" y=\"184.819626\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_8\">\n",
       "      <!-- 0 -->\n",
       "      <g transform=\"translate(28.901562 188.618845)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_3\">\n",
       "     <g id=\"line2d_8\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"42.264062\" xlink:href=\"#m11f4fe706f\" y=\"136.553711\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_9\">\n",
       "      <!-- 10 -->\n",
       "      <g transform=\"translate(22.539062 140.352929)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_4\">\n",
       "     <g id=\"line2d_9\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"42.264062\" xlink:href=\"#m11f4fe706f\" y=\"88.287795\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_10\">\n",
       "      <!-- 20 -->\n",
       "      <g transform=\"translate(22.539062 92.087014)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-50\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_5\">\n",
       "     <g id=\"line2d_10\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"42.264062\" xlink:href=\"#m11f4fe706f\" y=\"40.021879\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_11\">\n",
       "      <!-- 30 -->\n",
       "      <g transform=\"translate(22.539062 43.821098)scale(0.1 -0.1)\">\n",
       "       <defs>\n",
       "        <path d=\"M 40.578125 39.3125 \n",
       "Q 47.65625 37.796875 51.625 33 \n",
       "Q 55.609375 28.21875 55.609375 21.1875 \n",
       "Q 55.609375 10.40625 48.1875 4.484375 \n",
       "Q 40.765625 -1.421875 27.09375 -1.421875 \n",
       "Q 22.515625 -1.421875 17.65625 -0.515625 \n",
       "Q 12.796875 0.390625 7.625 2.203125 \n",
       "L 7.625 11.71875 \n",
       "Q 11.71875 9.328125 16.59375 8.109375 \n",
       "Q 21.484375 6.890625 26.8125 6.890625 \n",
       "Q 36.078125 6.890625 40.9375 10.546875 \n",
       "Q 45.796875 14.203125 45.796875 21.1875 \n",
       "Q 45.796875 27.640625 41.28125 31.265625 \n",
       "Q 36.765625 34.90625 28.71875 34.90625 \n",
       "L 20.21875 34.90625 \n",
       "L 20.21875 43.015625 \n",
       "L 29.109375 43.015625 \n",
       "Q 36.375 43.015625 40.234375 45.921875 \n",
       "Q 44.09375 48.828125 44.09375 54.296875 \n",
       "Q 44.09375 59.90625 40.109375 62.90625 \n",
       "Q 36.140625 65.921875 28.71875 65.921875 \n",
       "Q 24.65625 65.921875 20.015625 65.03125 \n",
       "Q 15.375 64.15625 9.8125 62.3125 \n",
       "L 9.8125 71.09375 \n",
       "Q 15.4375 72.65625 20.34375 73.4375 \n",
       "Q 25.25 74.21875 29.59375 74.21875 \n",
       "Q 40.828125 74.21875 47.359375 69.109375 \n",
       "Q 53.90625 64.015625 53.90625 55.328125 \n",
       "Q 53.90625 49.265625 50.4375 45.09375 \n",
       "Q 46.96875 40.921875 40.578125 39.3125 \n",
       "z\n",
       "\" id=\"DejaVuSans-51\"/>\n",
       "       </defs>\n",
       "       <use xlink:href=\"#DejaVuSans-51\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_12\">\n",
       "     <!-- y -->\n",
       "     <g transform=\"translate(7.2 141.020312)scale(0.1 -0.1)\">\n",
       "      <defs>\n",
       "       <path d=\"M 32.171875 -5.078125 \n",
       "Q 28.375 -14.84375 24.75 -17.8125 \n",
       "Q 21.140625 -20.796875 15.09375 -20.796875 \n",
       "L 7.90625 -20.796875 \n",
       "L 7.90625 -13.28125 \n",
       "L 13.1875 -13.28125 \n",
       "Q 16.890625 -13.28125 18.9375 -11.515625 \n",
       "Q 21 -9.765625 23.484375 -3.21875 \n",
       "L 25.09375 0.875 \n",
       "L 2.984375 54.6875 \n",
       "L 12.5 54.6875 \n",
       "L 29.59375 11.921875 \n",
       "L 46.6875 54.6875 \n",
       "L 56.203125 54.6875 \n",
       "z\n",
       "\" id=\"DejaVuSans-121\"/>\n",
       "      </defs>\n",
       "      <use xlink:href=\"#DejaVuSans-121\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"patch_3\">\n",
       "    <path d=\"M 42.264062 279 \n",
       "L 42.264062 7.2 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_4\">\n",
       "    <path d=\"M 346.627699 279 \n",
       "L 346.627699 7.2 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_5\">\n",
       "    <path d=\"M 42.264063 279 \n",
       "L 346.627699 279 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_6\">\n",
       "    <path d=\"M 42.264063 7.2 \n",
       "L 346.627699 7.2 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"legend_1\">\n",
       "    <g id=\"patch_7\">\n",
       "     <path d=\"M 49.264062 29.878125 \n",
       "L 122.83125 29.878125 \n",
       "Q 124.83125 29.878125 124.83125 27.878125 \n",
       "L 124.83125 14.2 \n",
       "Q 124.83125 12.2 122.83125 12.2 \n",
       "L 49.264062 12.2 \n",
       "Q 47.264062 12.2 47.264062 14.2 \n",
       "L 47.264062 27.878125 \n",
       "Q 47.264062 29.878125 49.264062 29.878125 \n",
       "z\n",
       "\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
       "    </g>\n",
       "    <g id=\"PathCollection_2\">\n",
       "     <g>\n",
       "      <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"61.264062\" xlink:href=\"#md292cba6d3\" y=\"21.173438\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_13\">\n",
       "     <!-- samples -->\n",
       "     <g transform=\"translate(79.264062 23.798438)scale(0.1 -0.1)\">\n",
       "      <defs>\n",
       "       <path d=\"M 44.28125 53.078125 \n",
       "L 44.28125 44.578125 \n",
       "Q 40.484375 46.53125 36.375 47.5 \n",
       "Q 32.28125 48.484375 27.875 48.484375 \n",
       "Q 21.1875 48.484375 17.84375 46.4375 \n",
       "Q 14.5 44.390625 14.5 40.28125 \n",
       "Q 14.5 37.15625 16.890625 35.375 \n",
       "Q 19.28125 33.59375 26.515625 31.984375 \n",
       "L 29.59375 31.296875 \n",
       "Q 39.15625 29.25 43.1875 25.515625 \n",
       "Q 47.21875 21.78125 47.21875 15.09375 \n",
       "Q 47.21875 7.46875 41.1875 3.015625 \n",
       "Q 35.15625 -1.421875 24.609375 -1.421875 \n",
       "Q 20.21875 -1.421875 15.453125 -0.5625 \n",
       "Q 10.6875 0.296875 5.421875 2 \n",
       "L 5.421875 11.28125 \n",
       "Q 10.40625 8.6875 15.234375 7.390625 \n",
       "Q 20.0625 6.109375 24.8125 6.109375 \n",
       "Q 31.15625 6.109375 34.5625 8.28125 \n",
       "Q 37.984375 10.453125 37.984375 14.40625 \n",
       "Q 37.984375 18.0625 35.515625 20.015625 \n",
       "Q 33.0625 21.96875 24.703125 23.78125 \n",
       "L 21.578125 24.515625 \n",
       "Q 13.234375 26.265625 9.515625 29.90625 \n",
       "Q 5.8125 33.546875 5.8125 39.890625 \n",
       "Q 5.8125 47.609375 11.28125 51.796875 \n",
       "Q 16.75 56 26.8125 56 \n",
       "Q 31.78125 56 36.171875 55.265625 \n",
       "Q 40.578125 54.546875 44.28125 53.078125 \n",
       "z\n",
       "\" id=\"DejaVuSans-115\"/>\n",
       "       <path d=\"M 34.28125 27.484375 \n",
       "Q 23.390625 27.484375 19.1875 25 \n",
       "Q 14.984375 22.515625 14.984375 16.5 \n",
       "Q 14.984375 11.71875 18.140625 8.90625 \n",
       "Q 21.296875 6.109375 26.703125 6.109375 \n",
       "Q 34.1875 6.109375 38.703125 11.40625 \n",
       "Q 43.21875 16.703125 43.21875 25.484375 \n",
       "L 43.21875 27.484375 \n",
       "z\n",
       "M 52.203125 31.203125 \n",
       "L 52.203125 0 \n",
       "L 43.21875 0 \n",
       "L 43.21875 8.296875 \n",
       "Q 40.140625 3.328125 35.546875 0.953125 \n",
       "Q 30.953125 -1.421875 24.3125 -1.421875 \n",
       "Q 15.921875 -1.421875 10.953125 3.296875 \n",
       "Q 6 8.015625 6 15.921875 \n",
       "Q 6 25.140625 12.171875 29.828125 \n",
       "Q 18.359375 34.515625 30.609375 34.515625 \n",
       "L 43.21875 34.515625 \n",
       "L 43.21875 35.40625 \n",
       "Q 43.21875 41.609375 39.140625 45 \n",
       "Q 35.0625 48.390625 27.6875 48.390625 \n",
       "Q 23 48.390625 18.546875 47.265625 \n",
       "Q 14.109375 46.140625 10.015625 43.890625 \n",
       "L 10.015625 52.203125 \n",
       "Q 14.9375 54.109375 19.578125 55.046875 \n",
       "Q 24.21875 56 28.609375 56 \n",
       "Q 40.484375 56 46.34375 49.84375 \n",
       "Q 52.203125 43.703125 52.203125 31.203125 \n",
       "z\n",
       "\" id=\"DejaVuSans-97\"/>\n",
       "       <path d=\"M 52 44.1875 \n",
       "Q 55.375 50.25 60.0625 53.125 \n",
       "Q 64.75 56 71.09375 56 \n",
       "Q 79.640625 56 84.28125 50.015625 \n",
       "Q 88.921875 44.046875 88.921875 33.015625 \n",
       "L 88.921875 0 \n",
       "L 79.890625 0 \n",
       "L 79.890625 32.71875 \n",
       "Q 79.890625 40.578125 77.09375 44.375 \n",
       "Q 74.3125 48.1875 68.609375 48.1875 \n",
       "Q 61.625 48.1875 57.5625 43.546875 \n",
       "Q 53.515625 38.921875 53.515625 30.90625 \n",
       "L 53.515625 0 \n",
       "L 44.484375 0 \n",
       "L 44.484375 32.71875 \n",
       "Q 44.484375 40.625 41.703125 44.40625 \n",
       "Q 38.921875 48.1875 33.109375 48.1875 \n",
       "Q 26.21875 48.1875 22.15625 43.53125 \n",
       "Q 18.109375 38.875 18.109375 30.90625 \n",
       "L 18.109375 0 \n",
       "L 9.078125 0 \n",
       "L 9.078125 54.6875 \n",
       "L 18.109375 54.6875 \n",
       "L 18.109375 46.1875 \n",
       "Q 21.1875 51.21875 25.484375 53.609375 \n",
       "Q 29.78125 56 35.6875 56 \n",
       "Q 41.65625 56 45.828125 52.96875 \n",
       "Q 50 49.953125 52 44.1875 \n",
       "z\n",
       "\" id=\"DejaVuSans-109\"/>\n",
       "       <path d=\"M 18.109375 8.203125 \n",
       "L 18.109375 -20.796875 \n",
       "L 9.078125 -20.796875 \n",
       "L 9.078125 54.6875 \n",
       "L 18.109375 54.6875 \n",
       "L 18.109375 46.390625 \n",
       "Q 20.953125 51.265625 25.265625 53.625 \n",
       "Q 29.59375 56 35.59375 56 \n",
       "Q 45.5625 56 51.78125 48.09375 \n",
       "Q 58.015625 40.1875 58.015625 27.296875 \n",
       "Q 58.015625 14.40625 51.78125 6.484375 \n",
       "Q 45.5625 -1.421875 35.59375 -1.421875 \n",
       "Q 29.59375 -1.421875 25.265625 0.953125 \n",
       "Q 20.953125 3.328125 18.109375 8.203125 \n",
       "z\n",
       "M 48.6875 27.296875 \n",
       "Q 48.6875 37.203125 44.609375 42.84375 \n",
       "Q 40.53125 48.484375 33.40625 48.484375 \n",
       "Q 26.265625 48.484375 22.1875 42.84375 \n",
       "Q 18.109375 37.203125 18.109375 27.296875 \n",
       "Q 18.109375 17.390625 22.1875 11.75 \n",
       "Q 26.265625 6.109375 33.40625 6.109375 \n",
       "Q 40.53125 6.109375 44.609375 11.75 \n",
       "Q 48.6875 17.390625 48.6875 27.296875 \n",
       "z\n",
       "\" id=\"DejaVuSans-112\"/>\n",
       "       <path d=\"M 9.421875 75.984375 \n",
       "L 18.40625 75.984375 \n",
       "L 18.40625 0 \n",
       "L 9.421875 0 \n",
       "z\n",
       "\" id=\"DejaVuSans-108\"/>\n",
       "       <path d=\"M 56.203125 29.59375 \n",
       "L 56.203125 25.203125 \n",
       "L 14.890625 25.203125 \n",
       "Q 15.484375 15.921875 20.484375 11.0625 \n",
       "Q 25.484375 6.203125 34.421875 6.203125 \n",
       "Q 39.59375 6.203125 44.453125 7.46875 \n",
       "Q 49.3125 8.734375 54.109375 11.28125 \n",
       "L 54.109375 2.78125 \n",
       "Q 49.265625 0.734375 44.1875 -0.34375 \n",
       "Q 39.109375 -1.421875 33.890625 -1.421875 \n",
       "Q 20.796875 -1.421875 13.15625 6.1875 \n",
       "Q 5.515625 13.8125 5.515625 26.8125 \n",
       "Q 5.515625 40.234375 12.765625 48.109375 \n",
       "Q 20.015625 56 32.328125 56 \n",
       "Q 43.359375 56 49.78125 48.890625 \n",
       "Q 56.203125 41.796875 56.203125 29.59375 \n",
       "z\n",
       "M 47.21875 32.234375 \n",
       "Q 47.125 39.59375 43.09375 43.984375 \n",
       "Q 39.0625 48.390625 32.421875 48.390625 \n",
       "Q 24.90625 48.390625 20.390625 44.140625 \n",
       "Q 15.875 39.890625 15.1875 32.171875 \n",
       "z\n",
       "\" id=\"DejaVuSans-101\"/>\n",
       "      </defs>\n",
       "      <use xlink:href=\"#DejaVuSans-115\"/>\n",
       "      <use x=\"52.099609\" xlink:href=\"#DejaVuSans-97\"/>\n",
       "      <use x=\"113.378906\" xlink:href=\"#DejaVuSans-109\"/>\n",
       "      <use x=\"210.791016\" xlink:href=\"#DejaVuSans-112\"/>\n",
       "      <use x=\"274.267578\" xlink:href=\"#DejaVuSans-108\"/>\n",
       "      <use x=\"302.050781\" xlink:href=\"#DejaVuSans-101\"/>\n",
       "      <use x=\"363.574219\" xlink:href=\"#DejaVuSans-115\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "  </g>\n",
       "  <g id=\"axes_2\">\n",
       "   <g id=\"patch_8\">\n",
       "    <path d=\"M 407.500426 279 \n",
       "L 711.864062 279 \n",
       "L 711.864062 7.2 \n",
       "L 407.500426 7.2 \n",
       "z\n",
       "\" style=\"fill:#ffffff;\"/>\n",
       "   </g>\n",
       "   <g id=\"PathCollection_3\">\n",
       "    <defs>\n",
       "     <path d=\"M 0 3 \n",
       "C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n",
       "C 2.683901 1.55874 3 0.795609 3 0 \n",
       "C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n",
       "C 1.55874 -2.683901 0.795609 -3 0 -3 \n",
       "C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n",
       "C -2.683901 -1.55874 -3 -0.795609 -3 0 \n",
       "C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n",
       "C -1.55874 2.683901 -0.795609 3 0 3 \n",
       "z\n",
       "\" id=\"mcc38c9bac4\" style=\"stroke:#008000;\"/>\n",
       "    </defs>\n",
       "    <g clip-path=\"url(#p98369b5fb6)\">\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"692.209864\" xlink:href=\"#mcc38c9bac4\" y=\"199.771522\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"527.688745\" xlink:href=\"#mcc38c9bac4\" y=\"148.545441\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"608.308524\" xlink:href=\"#mcc38c9bac4\" y=\"172.308479\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"503.505468\" xlink:href=\"#mcc38c9bac4\" y=\"128.60765\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"434.009722\" xlink:href=\"#mcc38c9bac4\" y=\"108.450802\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"462.320309\" xlink:href=\"#mcc38c9bac4\" y=\"58.763209\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"436.999402\" xlink:href=\"#mcc38c9bac4\" y=\"26.450331\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"661.811325\" xlink:href=\"#mcc38c9bac4\" y=\"230.166823\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"500.127371\" xlink:href=\"#mcc38c9bac4\" y=\"115.830335\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"600.864661\" xlink:href=\"#mcc38c9bac4\" y=\"158.814664\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"435.503412\" xlink:href=\"#mcc38c9bac4\" y=\"64.209014\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"534.970796\" xlink:href=\"#mcc38c9bac4\" y=\"113.003451\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"487.865206\" xlink:href=\"#mcc38c9bac4\" y=\"72.217041\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"566.453179\" xlink:href=\"#mcc38c9bac4\" y=\"115.162716\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"430.931117\" xlink:href=\"#mcc38c9bac4\" y=\"101.872333\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"613.301311\" xlink:href=\"#mcc38c9bac4\" y=\"184.831964\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"602.884074\" xlink:href=\"#mcc38c9bac4\" y=\"155.2871\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"645.353679\" xlink:href=\"#mcc38c9bac4\" y=\"221.634009\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"486.299425\" xlink:href=\"#mcc38c9bac4\" y=\"53.807706\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"564.310558\" xlink:href=\"#mcc38c9bac4\" y=\"188.995852\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"620.41822\" xlink:href=\"#mcc38c9bac4\" y=\"154.224404\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"535.613922\" xlink:href=\"#mcc38c9bac4\" y=\"169.052396\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"689.653946\" xlink:href=\"#mcc38c9bac4\" y=\"182.635804\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"426.520381\" xlink:href=\"#mcc38c9bac4\" y=\"81.171636\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"618.500011\" xlink:href=\"#mcc38c9bac4\" y=\"209.761855\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"598.497481\" xlink:href=\"#mcc38c9bac4\" y=\"122.871276\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"697.974536\" xlink:href=\"#mcc38c9bac4\" y=\"266.645455\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"676.605176\" xlink:href=\"#mcc38c9bac4\" y=\"203.235398\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"440.167226\" xlink:href=\"#mcc38c9bac4\" y=\"98.884961\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"562.986639\" xlink:href=\"#mcc38c9bac4\" y=\"128.692046\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"576.130005\" xlink:href=\"#mcc38c9bac4\" y=\"147.228798\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"443.44258\" xlink:href=\"#mcc38c9bac4\" y=\"26.914755\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"670.739273\" xlink:href=\"#mcc38c9bac4\" y=\"189.873147\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"602.140226\" xlink:href=\"#mcc38c9bac4\" y=\"175.714006\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"498.989193\" xlink:href=\"#mcc38c9bac4\" y=\"118.977753\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"546.892905\" xlink:href=\"#mcc38c9bac4\" y=\"91.481704\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"595.758537\" xlink:href=\"#mcc38c9bac4\" y=\"182.493089\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"564.756907\" xlink:href=\"#mcc38c9bac4\" y=\"192.762078\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"422.88102\" xlink:href=\"#mcc38c9bac4\" y=\"53.09681\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"563.264301\" xlink:href=\"#mcc38c9bac4\" y=\"124.020129\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"439.320033\" xlink:href=\"#mcc38c9bac4\" y=\"75.392777\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"539.571341\" xlink:href=\"#mcc38c9bac4\" y=\"169.071701\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"529.945973\" xlink:href=\"#mcc38c9bac4\" y=\"119.501335\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"433.485711\" xlink:href=\"#mcc38c9bac4\" y=\"75.935221\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"567.291169\" xlink:href=\"#mcc38c9bac4\" y=\"93.875059\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"524.154454\" xlink:href=\"#mcc38c9bac4\" y=\"128.337827\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"682.685794\" xlink:href=\"#mcc38c9bac4\" y=\"221.197148\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"448.920695\" xlink:href=\"#mcc38c9bac4\" y=\"19.816364\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"449.776088\" xlink:href=\"#mcc38c9bac4\" y=\"103.554783\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"438.476144\" xlink:href=\"#mcc38c9bac4\" y=\"92.04778\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"557.043796\" xlink:href=\"#mcc38c9bac4\" y=\"149.678101\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"446.339336\" xlink:href=\"#mcc38c9bac4\" y=\"29.722196\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"670.037693\" xlink:href=\"#mcc38c9bac4\" y=\"168.830064\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"692.214144\" xlink:href=\"#mcc38c9bac4\" y=\"189.2838\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"633.006262\" xlink:href=\"#mcc38c9bac4\" y=\"218.579226\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"581.365436\" xlink:href=\"#mcc38c9bac4\" y=\"108.595976\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"436.590867\" xlink:href=\"#mcc38c9bac4\" y=\"34.72824\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"480.379991\" xlink:href=\"#mcc38c9bac4\" y=\"48.875099\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"437.203027\" xlink:href=\"#mcc38c9bac4\" y=\"79.953536\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"493.990419\" xlink:href=\"#mcc38c9bac4\" y=\"93.549388\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"529.780891\" xlink:href=\"#mcc38c9bac4\" y=\"74.683777\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"697.060356\" xlink:href=\"#mcc38c9bac4\" y=\"206.348911\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"662.278742\" xlink:href=\"#mcc38c9bac4\" y=\"162.598983\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"634.17166\" xlink:href=\"#mcc38c9bac4\" y=\"183.370433\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"542.464819\" xlink:href=\"#mcc38c9bac4\" y=\"148.32314\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"492.952897\" xlink:href=\"#mcc38c9bac4\" y=\"55.059464\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"488.604941\" xlink:href=\"#mcc38c9bac4\" y=\"57.682582\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"691.912512\" xlink:href=\"#mcc38c9bac4\" y=\"224.401464\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"530.238222\" xlink:href=\"#mcc38c9bac4\" y=\"175.712085\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"693.778246\" xlink:href=\"#mcc38c9bac4\" y=\"207.535883\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"469.322183\" xlink:href=\"#mcc38c9bac4\" y=\"39.323927\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"671.174052\" xlink:href=\"#mcc38c9bac4\" y=\"160.417918\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"476.325368\" xlink:href=\"#mcc38c9bac4\" y=\"137.817495\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"425.408741\" xlink:href=\"#mcc38c9bac4\" y=\"86.364046\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"433.972148\" xlink:href=\"#mcc38c9bac4\" y=\"77.520945\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"536.778076\" xlink:href=\"#mcc38c9bac4\" y=\"126.820762\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"578.067797\" xlink:href=\"#mcc38c9bac4\" y=\"183.854256\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"637.063507\" xlink:href=\"#mcc38c9bac4\" y=\"128.076349\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"631.741599\" xlink:href=\"#mcc38c9bac4\" y=\"210.887085\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"523.159669\" xlink:href=\"#mcc38c9bac4\" y=\"135.531693\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"652.268287\" xlink:href=\"#mcc38c9bac4\" y=\"148.599375\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"544.559299\" xlink:href=\"#mcc38c9bac4\" y=\"139.137271\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"548.996641\" xlink:href=\"#mcc38c9bac4\" y=\"163.256038\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"593.197831\" xlink:href=\"#mcc38c9bac4\" y=\"118.638885\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"583.860385\" xlink:href=\"#mcc38c9bac4\" y=\"189.764847\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"484.547763\" xlink:href=\"#mcc38c9bac4\" y=\"101.845258\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"687.330881\" xlink:href=\"#mcc38c9bac4\" y=\"215.774418\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"461.949401\" xlink:href=\"#mcc38c9bac4\" y=\"71.866329\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"533.011148\" xlink:href=\"#mcc38c9bac4\" y=\"115.394758\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"454.969805\" xlink:href=\"#mcc38c9bac4\" y=\"85.144795\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"636.209037\" xlink:href=\"#mcc38c9bac4\" y=\"208.171992\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"532.923286\" xlink:href=\"#mcc38c9bac4\" y=\"93.0049\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"662.434681\" xlink:href=\"#mcc38c9bac4\" y=\"227.967599\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"688.893832\" xlink:href=\"#mcc38c9bac4\" y=\"250.957531\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"584.406654\" xlink:href=\"#mcc38c9bac4\" y=\"165.774769\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"608.248104\" xlink:href=\"#mcc38c9bac4\" y=\"113.613334\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"636.4077\" xlink:href=\"#mcc38c9bac4\" y=\"197.978143\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"439.698819\" xlink:href=\"#mcc38c9bac4\" y=\"92.841143\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"461.229482\" xlink:href=\"#mcc38c9bac4\" y=\"121.226027\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"647.739867\" xlink:href=\"#mcc38c9bac4\" y=\"214.355277\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"625.945399\" xlink:href=\"#mcc38c9bac4\" y=\"155.927552\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"427.736889\" xlink:href=\"#mcc38c9bac4\" y=\"93.404265\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"535.207822\" xlink:href=\"#mcc38c9bac4\" y=\"93.909932\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"428.398528\" xlink:href=\"#mcc38c9bac4\" y=\"105.487241\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"585.018012\" xlink:href=\"#mcc38c9bac4\" y=\"169.501181\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"529.240092\" xlink:href=\"#mcc38c9bac4\" y=\"100.572023\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"672.039195\" xlink:href=\"#mcc38c9bac4\" y=\"235.79017\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"642.67034\" xlink:href=\"#mcc38c9bac4\" y=\"188.302569\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"486.944023\" xlink:href=\"#mcc38c9bac4\" y=\"81.164953\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"459.260678\" xlink:href=\"#mcc38c9bac4\" y=\"62.5069\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"446.303555\" xlink:href=\"#mcc38c9bac4\" y=\"102.656647\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"433.482407\" xlink:href=\"#mcc38c9bac4\" y=\"64.368425\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"488.772578\" xlink:href=\"#mcc38c9bac4\" y=\"111.334561\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"636.1619\" xlink:href=\"#mcc38c9bac4\" y=\"197.549038\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"504.891506\" xlink:href=\"#mcc38c9bac4\" y=\"122.066474\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"500.392954\" xlink:href=\"#mcc38c9bac4\" y=\"73.343836\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"596.013795\" xlink:href=\"#mcc38c9bac4\" y=\"147.213095\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"515.612275\" xlink:href=\"#mcc38c9bac4\" y=\"117.626056\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"511.932906\" xlink:href=\"#mcc38c9bac4\" y=\"130.575555\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"686.527027\" xlink:href=\"#mcc38c9bac4\" y=\"134.170767\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"456.559997\" xlink:href=\"#mcc38c9bac4\" y=\"107.21469\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"463.884484\" xlink:href=\"#mcc38c9bac4\" y=\"81.020971\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"673.465335\" xlink:href=\"#mcc38c9bac4\" y=\"222.861297\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"561.419862\" xlink:href=\"#mcc38c9bac4\" y=\"149.990904\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"631.413147\" xlink:href=\"#mcc38c9bac4\" y=\"168.389798\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"687.027697\" xlink:href=\"#mcc38c9bac4\" y=\"224.826127\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"515.684653\" xlink:href=\"#mcc38c9bac4\" y=\"114.969464\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"474.179449\" xlink:href=\"#mcc38c9bac4\" y=\"132.075639\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"624.435631\" xlink:href=\"#mcc38c9bac4\" y=\"191.443568\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"638.795065\" xlink:href=\"#mcc38c9bac4\" y=\"220.208031\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"456.425366\" xlink:href=\"#mcc38c9bac4\" y=\"138.784452\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"572.225048\" xlink:href=\"#mcc38c9bac4\" y=\"135.848384\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"500.812845\" xlink:href=\"#mcc38c9bac4\" y=\"57.590467\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"688.221546\" xlink:href=\"#mcc38c9bac4\" y=\"178.761655\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"644.373086\" xlink:href=\"#mcc38c9bac4\" y=\"151.717228\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"600.309403\" xlink:href=\"#mcc38c9bac4\" y=\"156.339472\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"569.264354\" xlink:href=\"#mcc38c9bac4\" y=\"143.635287\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"623.396544\" xlink:href=\"#mcc38c9bac4\" y=\"171.102508\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"601.32444\" xlink:href=\"#mcc38c9bac4\" y=\"202.93733\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"594.163737\" xlink:href=\"#mcc38c9bac4\" y=\"189.857975\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"508.408902\" xlink:href=\"#mcc38c9bac4\" y=\"128.741431\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"534.715592\" xlink:href=\"#mcc38c9bac4\" y=\"132.743594\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"531.391715\" xlink:href=\"#mcc38c9bac4\" y=\"113.254641\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"640.746701\" xlink:href=\"#mcc38c9bac4\" y=\"164.060269\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"539.578912\" xlink:href=\"#mcc38c9bac4\" y=\"162.166028\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"560.654638\" xlink:href=\"#mcc38c9bac4\" y=\"179.294422\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"661.253458\" xlink:href=\"#mcc38c9bac4\" y=\"142.159612\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"590.461442\" xlink:href=\"#mcc38c9bac4\" y=\"129.124272\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"658.942298\" xlink:href=\"#mcc38c9bac4\" y=\"157.081935\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"537.774333\" xlink:href=\"#mcc38c9bac4\" y=\"118.233398\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"477.703868\" xlink:href=\"#mcc38c9bac4\" y=\"125.550478\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"680.636458\" xlink:href=\"#mcc38c9bac4\" y=\"187.988609\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"522.685925\" xlink:href=\"#mcc38c9bac4\" y=\"103.913697\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"657.511851\" xlink:href=\"#mcc38c9bac4\" y=\"201.084323\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"663.427647\" xlink:href=\"#mcc38c9bac4\" y=\"198.281617\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"688.783238\" xlink:href=\"#mcc38c9bac4\" y=\"167.183766\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"564.732375\" xlink:href=\"#mcc38c9bac4\" y=\"109.38927\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"569.179964\" xlink:href=\"#mcc38c9bac4\" y=\"131.628666\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"566.471638\" xlink:href=\"#mcc38c9bac4\" y=\"164.623061\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"465.512049\" xlink:href=\"#mcc38c9bac4\" y=\"55.221333\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"610.490096\" xlink:href=\"#mcc38c9bac4\" y=\"197.216283\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"506.913601\" xlink:href=\"#mcc38c9bac4\" y=\"90.100271\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"595.497368\" xlink:href=\"#mcc38c9bac4\" y=\"158.948954\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"696.815197\" xlink:href=\"#mcc38c9bac4\" y=\"185.738619\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"675.226843\" xlink:href=\"#mcc38c9bac4\" y=\"215.275361\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"637.844568\" xlink:href=\"#mcc38c9bac4\" y=\"189.700943\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"632.228197\" xlink:href=\"#mcc38c9bac4\" y=\"124.09073\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"636.253607\" xlink:href=\"#mcc38c9bac4\" y=\"162.521105\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"675.124649\" xlink:href=\"#mcc38c9bac4\" y=\"200.794289\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"645.894009\" xlink:href=\"#mcc38c9bac4\" y=\"207.384382\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"563.226714\" xlink:href=\"#mcc38c9bac4\" y=\"76.712115\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"423.513766\" xlink:href=\"#mcc38c9bac4\" y=\"43.594394\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"616.296061\" xlink:href=\"#mcc38c9bac4\" y=\"125.995141\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"679.825702\" xlink:href=\"#mcc38c9bac4\" y=\"168.801546\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"461.778273\" xlink:href=\"#mcc38c9bac4\" y=\"94.924202\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"685.984516\" xlink:href=\"#mcc38c9bac4\" y=\"212.676629\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"526.650534\" xlink:href=\"#mcc38c9bac4\" y=\"66.083686\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"623.578714\" xlink:href=\"#mcc38c9bac4\" y=\"188.545777\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"602.731559\" xlink:href=\"#mcc38c9bac4\" y=\"134.442201\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"557.481477\" xlink:href=\"#mcc38c9bac4\" y=\"95.025238\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"575.829697\" xlink:href=\"#mcc38c9bac4\" y=\"126.05915\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"519.034834\" xlink:href=\"#mcc38c9bac4\" y=\"93.819124\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"470.522493\" xlink:href=\"#mcc38c9bac4\" y=\"88.683478\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"499.530178\" xlink:href=\"#mcc38c9bac4\" y=\"104.004735\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"508.950944\" xlink:href=\"#mcc38c9bac4\" y=\"138.14539\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"610.930934\" xlink:href=\"#mcc38c9bac4\" y=\"196.990332\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"535.766143\" xlink:href=\"#mcc38c9bac4\" y=\"173.357521\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"439.817586\" xlink:href=\"#mcc38c9bac4\" y=\"37.253619\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"556.770668\" xlink:href=\"#mcc38c9bac4\" y=\"83.954497\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"518.176733\" xlink:href=\"#mcc38c9bac4\" y=\"96.881019\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"483.495447\" xlink:href=\"#mcc38c9bac4\" y=\"111.461396\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"607.332639\" xlink:href=\"#mcc38c9bac4\" y=\"144.788319\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"552.457925\" xlink:href=\"#mcc38c9bac4\" y=\"72.516383\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"698.029352\" xlink:href=\"#mcc38c9bac4\" y=\"182.617799\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"551.833793\" xlink:href=\"#mcc38c9bac4\" y=\"94.366917\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"452.913801\" xlink:href=\"#mcc38c9bac4\" y=\"34.366914\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"543.847032\" xlink:href=\"#mcc38c9bac4\" y=\"105.957732\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"604.072948\" xlink:href=\"#mcc38c9bac4\" y=\"174.973872\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"562.748463\" xlink:href=\"#mcc38c9bac4\" y=\"112.692873\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"591.929664\" xlink:href=\"#mcc38c9bac4\" y=\"150.025737\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"472.205375\" xlink:href=\"#mcc38c9bac4\" y=\"54.849954\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"495.882431\" xlink:href=\"#mcc38c9bac4\" y=\"108.655267\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"480.889636\" xlink:href=\"#mcc38c9bac4\" y=\"72.566077\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"676.639687\" xlink:href=\"#mcc38c9bac4\" y=\"213.464146\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"479.485995\" xlink:href=\"#mcc38c9bac4\" y=\"142.759309\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"687.939577\" xlink:href=\"#mcc38c9bac4\" y=\"197.607731\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"447.54719\" xlink:href=\"#mcc38c9bac4\" y=\"111.231799\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"536.176229\" xlink:href=\"#mcc38c9bac4\" y=\"94.501205\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"565.510413\" xlink:href=\"#mcc38c9bac4\" y=\"171.587274\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"684.184727\" xlink:href=\"#mcc38c9bac4\" y=\"199.99194\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"628.962647\" xlink:href=\"#mcc38c9bac4\" y=\"156.155129\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"506.216856\" xlink:href=\"#mcc38c9bac4\" y=\"90.73009\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"563.256235\" xlink:href=\"#mcc38c9bac4\" y=\"142.54457\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"675.196666\" xlink:href=\"#mcc38c9bac4\" y=\"186.395224\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"487.038204\" xlink:href=\"#mcc38c9bac4\" y=\"115.387126\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"519.361814\" xlink:href=\"#mcc38c9bac4\" y=\"145.14003\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"474.67935\" xlink:href=\"#mcc38c9bac4\" y=\"86.090288\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"688.164109\" xlink:href=\"#mcc38c9bac4\" y=\"195.073779\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"567.93396\" xlink:href=\"#mcc38c9bac4\" y=\"115.568024\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"521.729677\" xlink:href=\"#mcc38c9bac4\" y=\"114.257799\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"671.200376\" xlink:href=\"#mcc38c9bac4\" y=\"174.139796\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"656.243068\" xlink:href=\"#mcc38c9bac4\" y=\"142.8993\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"685.129779\" xlink:href=\"#mcc38c9bac4\" y=\"241.331349\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"550.749815\" xlink:href=\"#mcc38c9bac4\" y=\"98.342995\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"573.900279\" xlink:href=\"#mcc38c9bac4\" y=\"162.662914\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"560.487489\" xlink:href=\"#mcc38c9bac4\" y=\"126.927229\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"670.829107\" xlink:href=\"#mcc38c9bac4\" y=\"166.901825\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"455.529577\" xlink:href=\"#mcc38c9bac4\" y=\"102.13289\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"671.761453\" xlink:href=\"#mcc38c9bac4\" y=\"157.821658\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"637.516317\" xlink:href=\"#mcc38c9bac4\" y=\"136.215151\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"525.422669\" xlink:href=\"#mcc38c9bac4\" y=\"126.420776\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"651.843728\" xlink:href=\"#mcc38c9bac4\" y=\"165.539209\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"483.877671\" xlink:href=\"#mcc38c9bac4\" y=\"80.199621\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"505.626646\" xlink:href=\"#mcc38c9bac4\" y=\"114.589132\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"494.453068\" xlink:href=\"#mcc38c9bac4\" y=\"100.854242\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"433.420502\" xlink:href=\"#mcc38c9bac4\" y=\"77.880687\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"468.4491\" xlink:href=\"#mcc38c9bac4\" y=\"60.59754\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"611.350585\" xlink:href=\"#mcc38c9bac4\" y=\"161.748923\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"505.819965\" xlink:href=\"#mcc38c9bac4\" y=\"74.484339\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"580.586408\" xlink:href=\"#mcc38c9bac4\" y=\"203.568487\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"421.668444\" xlink:href=\"#mcc38c9bac4\" y=\"19.738941\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"530.817858\" xlink:href=\"#mcc38c9bac4\" y=\"149.763657\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"502.893441\" xlink:href=\"#mcc38c9bac4\" y=\"114.93067\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"600.997259\" xlink:href=\"#mcc38c9bac4\" y=\"142.570955\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"423.777705\" xlink:href=\"#mcc38c9bac4\" y=\"86.305524\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"433.957408\" xlink:href=\"#mcc38c9bac4\" y=\"104.702071\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"441.658615\" xlink:href=\"#mcc38c9bac4\" y=\"123.262581\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"673.205169\" xlink:href=\"#mcc38c9bac4\" y=\"218.301214\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"569.214447\" xlink:href=\"#mcc38c9bac4\" y=\"117.347579\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"613.42583\" xlink:href=\"#mcc38c9bac4\" y=\"182.988407\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"545.810252\" xlink:href=\"#mcc38c9bac4\" y=\"85.523723\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"519.572502\" xlink:href=\"#mcc38c9bac4\" y=\"138.652553\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"424.27388\" xlink:href=\"#mcc38c9bac4\" y=\"98.81587\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"562.24057\" xlink:href=\"#mcc38c9bac4\" y=\"146.373904\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"559.166058\" xlink:href=\"#mcc38c9bac4\" y=\"166.434642\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"565.076664\" xlink:href=\"#mcc38c9bac4\" y=\"194.133596\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"485.688817\" xlink:href=\"#mcc38c9bac4\" y=\"117.815244\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"529.444433\" xlink:href=\"#mcc38c9bac4\" y=\"129.913212\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"664.754991\" xlink:href=\"#mcc38c9bac4\" y=\"142.465564\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"549.033118\" xlink:href=\"#mcc38c9bac4\" y=\"108.339202\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"444.022397\" xlink:href=\"#mcc38c9bac4\" y=\"66.9058\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"446.555548\" xlink:href=\"#mcc38c9bac4\" y=\"45.276918\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"566.379597\" xlink:href=\"#mcc38c9bac4\" y=\"133.840051\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"455.082921\" xlink:href=\"#mcc38c9bac4\" y=\"72.624562\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"558.224644\" xlink:href=\"#mcc38c9bac4\" y=\"90.891029\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"666.293196\" xlink:href=\"#mcc38c9bac4\" y=\"191.254101\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"601.516428\" xlink:href=\"#mcc38c9bac4\" y=\"125.405419\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"458.408369\" xlink:href=\"#mcc38c9bac4\" y=\"71.283544\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"665.895309\" xlink:href=\"#mcc38c9bac4\" y=\"166.833717\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"581.180832\" xlink:href=\"#mcc38c9bac4\" y=\"164.563671\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"428.134255\" xlink:href=\"#mcc38c9bac4\" y=\"19.554545\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"425.304434\" xlink:href=\"#mcc38c9bac4\" y=\"114.452667\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"685.587084\" xlink:href=\"#mcc38c9bac4\" y=\"214.490619\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"532.435056\" xlink:href=\"#mcc38c9bac4\" y=\"141.105089\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"680.288892\" xlink:href=\"#mcc38c9bac4\" y=\"165.755241\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"473.000855\" xlink:href=\"#mcc38c9bac4\" y=\"43.002734\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"649.888614\" xlink:href=\"#mcc38c9bac4\" y=\"130.116577\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"534.124192\" xlink:href=\"#mcc38c9bac4\" y=\"146.101655\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"574.538643\" xlink:href=\"#mcc38c9bac4\" y=\"175.882062\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"479.288041\" xlink:href=\"#mcc38c9bac4\" y=\"98.083119\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"636.848846\" xlink:href=\"#mcc38c9bac4\" y=\"227.935157\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"547.630748\" xlink:href=\"#mcc38c9bac4\" y=\"149.871813\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"527.469422\" xlink:href=\"#mcc38c9bac4\" y=\"89.959115\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"494.709856\" xlink:href=\"#mcc38c9bac4\" y=\"106.588738\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"544.820964\" xlink:href=\"#mcc38c9bac4\" y=\"91.398445\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"564.602279\" xlink:href=\"#mcc38c9bac4\" y=\"88.06014\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"662.075156\" xlink:href=\"#mcc38c9bac4\" y=\"167.957614\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"640.425485\" xlink:href=\"#mcc38c9bac4\" y=\"155.904491\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"661.696878\" xlink:href=\"#mcc38c9bac4\" y=\"214.529584\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"538.637658\" xlink:href=\"#mcc38c9bac4\" y=\"158.935967\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"647.072209\" xlink:href=\"#mcc38c9bac4\" y=\"163.007432\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"609.601865\" xlink:href=\"#mcc38c9bac4\" y=\"111.130749\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"472.673313\" xlink:href=\"#mcc38c9bac4\" y=\"82.221368\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"603.008138\" xlink:href=\"#mcc38c9bac4\" y=\"201.153693\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"586.413012\" xlink:href=\"#mcc38c9bac4\" y=\"143.229602\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"546.215442\" xlink:href=\"#mcc38c9bac4\" y=\"93.816914\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"592.200852\" xlink:href=\"#mcc38c9bac4\" y=\"150.882592\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"486.688672\" xlink:href=\"#mcc38c9bac4\" y=\"132.748285\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"469.864412\" xlink:href=\"#mcc38c9bac4\" y=\"94.450075\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"588.528667\" xlink:href=\"#mcc38c9bac4\" y=\"165.082217\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"550.610395\" xlink:href=\"#mcc38c9bac4\" y=\"110.453883\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"459.925922\" xlink:href=\"#mcc38c9bac4\" y=\"125.712655\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"683.671965\" xlink:href=\"#mcc38c9bac4\" y=\"188.703934\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"505.636879\" xlink:href=\"#mcc38c9bac4\" y=\"144.430791\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"647.178924\" xlink:href=\"#mcc38c9bac4\" y=\"214.546557\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"694.55286\" xlink:href=\"#mcc38c9bac4\" y=\"235.732826\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"434.680243\" xlink:href=\"#mcc38c9bac4\" y=\"80.907406\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"638.804174\" xlink:href=\"#mcc38c9bac4\" y=\"187.425386\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"678.373371\" xlink:href=\"#mcc38c9bac4\" y=\"246.108486\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"644.652086\" xlink:href=\"#mcc38c9bac4\" y=\"203.558937\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"689.298595\" xlink:href=\"#mcc38c9bac4\" y=\"184.18702\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"459.468009\" xlink:href=\"#mcc38c9bac4\" y=\"138.822859\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"583.202197\" xlink:href=\"#mcc38c9bac4\" y=\"129.018467\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"566.080372\" xlink:href=\"#mcc38c9bac4\" y=\"113.425628\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"598.448257\" xlink:href=\"#mcc38c9bac4\" y=\"141.935134\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"618.258933\" xlink:href=\"#mcc38c9bac4\" y=\"149.87623\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"500.251889\" xlink:href=\"#mcc38c9bac4\" y=\"113.870186\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"566.690031\" xlink:href=\"#mcc38c9bac4\" y=\"161.820994\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"597.130049\" xlink:href=\"#mcc38c9bac4\" y=\"192.801372\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"632.368366\" xlink:href=\"#mcc38c9bac4\" y=\"187.091765\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"447.169969\" xlink:href=\"#mcc38c9bac4\" y=\"73.379205\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"555.00072\" xlink:href=\"#mcc38c9bac4\" y=\"80.511272\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"533.509276\" xlink:href=\"#mcc38c9bac4\" y=\"159.472534\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"469.198667\" xlink:href=\"#mcc38c9bac4\" y=\"120.849341\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"532.632067\" xlink:href=\"#mcc38c9bac4\" y=\"152.433565\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"517.391331\" xlink:href=\"#mcc38c9bac4\" y=\"141.673932\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"693.775383\" xlink:href=\"#mcc38c9bac4\" y=\"250.545421\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"460.022805\" xlink:href=\"#mcc38c9bac4\" y=\"28.61709\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"485.598548\" xlink:href=\"#mcc38c9bac4\" y=\"67.339089\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"445.771678\" xlink:href=\"#mcc38c9bac4\" y=\"40.227661\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"477.708731\" xlink:href=\"#mcc38c9bac4\" y=\"124.639572\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"584.371408\" xlink:href=\"#mcc38c9bac4\" y=\"113.05326\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"571.148654\" xlink:href=\"#mcc38c9bac4\" y=\"97.403127\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"537.833482\" xlink:href=\"#mcc38c9bac4\" y=\"150.738194\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"523.92088\" xlink:href=\"#mcc38c9bac4\" y=\"125.577912\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"533.863463\" xlink:href=\"#mcc38c9bac4\" y=\"173.317633\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"556.151833\" xlink:href=\"#mcc38c9bac4\" y=\"155.80213\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"433.3012\" xlink:href=\"#mcc38c9bac4\" y=\"69.457867\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"432.781723\" xlink:href=\"#mcc38c9bac4\" y=\"68.214579\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"498.995279\" xlink:href=\"#mcc38c9bac4\" y=\"96.865939\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"489.426673\" xlink:href=\"#mcc38c9bac4\" y=\"73.662566\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"696.338792\" xlink:href=\"#mcc38c9bac4\" y=\"200.259538\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"601.073811\" xlink:href=\"#mcc38c9bac4\" y=\"117.739372\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"659.014904\" xlink:href=\"#mcc38c9bac4\" y=\"173.15703\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"421.335137\" xlink:href=\"#mcc38c9bac4\" y=\"71.738706\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"689.879923\" xlink:href=\"#mcc38c9bac4\" y=\"189.408753\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"560.426976\" xlink:href=\"#mcc38c9bac4\" y=\"115.334334\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"640.515453\" xlink:href=\"#mcc38c9bac4\" y=\"157.422476\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"483.987369\" xlink:href=\"#mcc38c9bac4\" y=\"45.09347\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"591.09158\" xlink:href=\"#mcc38c9bac4\" y=\"204.260002\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"531.925324\" xlink:href=\"#mcc38c9bac4\" y=\"140.058409\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"570.300191\" xlink:href=\"#mcc38c9bac4\" y=\"113.851042\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"645.867043\" xlink:href=\"#mcc38c9bac4\" y=\"216.31252\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"494.256451\" xlink:href=\"#mcc38c9bac4\" y=\"77.458335\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"575.229789\" xlink:href=\"#mcc38c9bac4\" y=\"104.50625\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"456.394079\" xlink:href=\"#mcc38c9bac4\" y=\"113.18926\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"439.44724\" xlink:href=\"#mcc38c9bac4\" y=\"47.068717\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"453.860587\" xlink:href=\"#mcc38c9bac4\" y=\"48.443236\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"513.773801\" xlink:href=\"#mcc38c9bac4\" y=\"75.812147\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"545.197088\" xlink:href=\"#mcc38c9bac4\" y=\"137.969427\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"675.876951\" xlink:href=\"#mcc38c9bac4\" y=\"209.626736\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"454.574305\" xlink:href=\"#mcc38c9bac4\" y=\"39.793525\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"471.728802\" xlink:href=\"#mcc38c9bac4\" y=\"143.875292\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"450.668365\" xlink:href=\"#mcc38c9bac4\" y=\"127.400081\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"654.130811\" xlink:href=\"#mcc38c9bac4\" y=\"134.624328\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"511.252447\" xlink:href=\"#mcc38c9bac4\" y=\"79.54351\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"615.647624\" xlink:href=\"#mcc38c9bac4\" y=\"126.857402\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"691.83287\" xlink:href=\"#mcc38c9bac4\" y=\"161.385493\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"451.951641\" xlink:href=\"#mcc38c9bac4\" y=\"69.02362\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"480.134271\" xlink:href=\"#mcc38c9bac4\" y=\"79.085926\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"668.590258\" xlink:href=\"#mcc38c9bac4\" y=\"156.551801\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"614.150363\" xlink:href=\"#mcc38c9bac4\" y=\"150.200076\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"577.697504\" xlink:href=\"#mcc38c9bac4\" y=\"192.795324\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"627.256463\" xlink:href=\"#mcc38c9bac4\" y=\"208.039755\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"497.552526\" xlink:href=\"#mcc38c9bac4\" y=\"126.554893\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"428.716346\" xlink:href=\"#mcc38c9bac4\" y=\"39.649341\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"624.413654\" xlink:href=\"#mcc38c9bac4\" y=\"175.658487\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"572.443775\" xlink:href=\"#mcc38c9bac4\" y=\"166.404497\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"672.977961\" xlink:href=\"#mcc38c9bac4\" y=\"184.448179\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"557.223304\" xlink:href=\"#mcc38c9bac4\" y=\"165.979042\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"494.169493\" xlink:href=\"#mcc38c9bac4\" y=\"60.534599\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"690.125082\" xlink:href=\"#mcc38c9bac4\" y=\"208.824977\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"566.743348\" xlink:href=\"#mcc38c9bac4\" y=\"101.141064\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"429.551179\" xlink:href=\"#mcc38c9bac4\" y=\"48.52691\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"690.873879\" xlink:href=\"#mcc38c9bac4\" y=\"172.537768\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"526.322503\" xlink:href=\"#mcc38c9bac4\" y=\"75.167267\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"570.516403\" xlink:href=\"#mcc38c9bac4\" y=\"144.04361\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"548.097656\" xlink:href=\"#mcc38c9bac4\" y=\"158.752151\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"563.019905\" xlink:href=\"#mcc38c9bac4\" y=\"135.5675\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"596.50692\" xlink:href=\"#mcc38c9bac4\" y=\"148.282686\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"448.667912\" xlink:href=\"#mcc38c9bac4\" y=\"44.617916\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"697.779378\" xlink:href=\"#mcc38c9bac4\" y=\"192.022382\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"670.274906\" xlink:href=\"#mcc38c9bac4\" y=\"160.623669\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"608.714811\" xlink:href=\"#mcc38c9bac4\" y=\"166.230468\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"561.351964\" xlink:href=\"#mcc38c9bac4\" y=\"167.930958\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"622.806829\" xlink:href=\"#mcc38c9bac4\" y=\"190.931249\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"665.226153\" xlink:href=\"#mcc38c9bac4\" y=\"210.950264\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"522.4864\" xlink:href=\"#mcc38c9bac4\" y=\"119.714831\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"448.263257\" xlink:href=\"#mcc38c9bac4\" y=\"48.069814\"/>\n",
       "     <use style=\"fill:#008000;stroke:#008000;\" x=\"626.089059\" xlink:href=\"#mcc38c9bac4\" y=\"165.140753\"/>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_3\">\n",
       "    <g id=\"xtick_6\">\n",
       "     <g id=\"line2d_11\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"449.267272\" xlink:href=\"#m96c1aad9b0\" y=\"279\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_14\">\n",
       "      <!-- −4 -->\n",
       "      <g transform=\"translate(441.896178 293.598437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-8722\"/>\n",
       "       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-52\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_7\">\n",
       "     <g id=\"line2d_12\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"505.370974\" xlink:href=\"#m96c1aad9b0\" y=\"279\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_15\">\n",
       "      <!-- −2 -->\n",
       "      <g transform=\"translate(497.999881 293.598437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-8722\"/>\n",
       "       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-50\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_8\">\n",
       "     <g id=\"line2d_13\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"561.474677\" xlink:href=\"#m96c1aad9b0\" y=\"279\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_16\">\n",
       "      <!-- 0 -->\n",
       "      <g transform=\"translate(558.293427 293.598437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_9\">\n",
       "     <g id=\"line2d_14\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"617.57838\" xlink:href=\"#m96c1aad9b0\" y=\"279\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_17\">\n",
       "      <!-- 2 -->\n",
       "      <g transform=\"translate(614.39713 293.598437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-50\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_10\">\n",
       "     <g id=\"line2d_15\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"673.682083\" xlink:href=\"#m96c1aad9b0\" y=\"279\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_18\">\n",
       "      <!-- 4 -->\n",
       "      <g transform=\"translate(670.500833 293.598437)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-52\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_19\">\n",
       "     <!-- x2 -->\n",
       "     <g transform=\"translate(553.541619 307.276562)scale(0.1 -0.1)\">\n",
       "      <use xlink:href=\"#DejaVuSans-120\"/>\n",
       "      <use x=\"59.179688\" xlink:href=\"#DejaVuSans-50\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_4\">\n",
       "    <g id=\"ytick_6\">\n",
       "     <g id=\"line2d_16\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"407.500426\" xlink:href=\"#m11f4fe706f\" y=\"233.085542\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_20\">\n",
       "      <!-- −10 -->\n",
       "      <g transform=\"translate(379.395739 236.88476)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-8722\"/>\n",
       "       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_7\">\n",
       "     <g id=\"line2d_17\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"407.500426\" xlink:href=\"#m11f4fe706f\" y=\"184.819626\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_21\">\n",
       "      <!-- 0 -->\n",
       "      <g transform=\"translate(394.137926 188.618845)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_8\">\n",
       "     <g id=\"line2d_18\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"407.500426\" xlink:href=\"#m11f4fe706f\" y=\"136.553711\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_22\">\n",
       "      <!-- 10 -->\n",
       "      <g transform=\"translate(387.775426 140.352929)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-49\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_9\">\n",
       "     <g id=\"line2d_19\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"407.500426\" xlink:href=\"#m11f4fe706f\" y=\"88.287795\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_23\">\n",
       "      <!-- 20 -->\n",
       "      <g transform=\"translate(387.775426 92.087014)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-50\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_10\">\n",
       "     <g id=\"line2d_20\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"407.500426\" xlink:href=\"#m11f4fe706f\" y=\"40.021879\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_24\">\n",
       "      <!-- 30 -->\n",
       "      <g transform=\"translate(387.775426 43.821098)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-51\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_25\">\n",
       "     <!-- y -->\n",
       "     <g transform=\"translate(372.436364 141.020312)scale(0.1 -0.1)\">\n",
       "      <use xlink:href=\"#DejaVuSans-121\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"patch_9\">\n",
       "    <path d=\"M 407.500426 279 \n",
       "L 407.500426 7.2 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_10\">\n",
       "    <path d=\"M 711.864062 279 \n",
       "L 711.864062 7.2 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_11\">\n",
       "    <path d=\"M 407.500426 279 \n",
       "L 711.864062 279 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_12\">\n",
       "    <path d=\"M 407.500426 7.2 \n",
       "L 711.864062 7.2 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"legend_2\">\n",
       "    <g id=\"patch_13\">\n",
       "     <path d=\"M 631.296875 29.878125 \n",
       "L 704.864063 29.878125 \n",
       "Q 706.864063 29.878125 706.864063 27.878125 \n",
       "L 706.864063 14.2 \n",
       "Q 706.864063 12.2 704.864063 12.2 \n",
       "L 631.296875 12.2 \n",
       "Q 629.296875 12.2 629.296875 14.2 \n",
       "L 629.296875 27.878125 \n",
       "Q 629.296875 29.878125 631.296875 29.878125 \n",
       "z\n",
       "\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
       "    </g>\n",
       "    <g id=\"PathCollection_4\">\n",
       "     <g>\n",
       "      <use style=\"fill:#008000;stroke:#008000;\" x=\"643.296875\" xlink:href=\"#mcc38c9bac4\" y=\"21.173438\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_26\">\n",
       "     <!-- samples -->\n",
       "     <g transform=\"translate(661.296875 23.798438)scale(0.1 -0.1)\">\n",
       "      <use xlink:href=\"#DejaVuSans-115\"/>\n",
       "      <use x=\"52.099609\" xlink:href=\"#DejaVuSans-97\"/>\n",
       "      <use x=\"113.378906\" xlink:href=\"#DejaVuSans-109\"/>\n",
       "      <use x=\"210.791016\" xlink:href=\"#DejaVuSans-112\"/>\n",
       "      <use x=\"274.267578\" xlink:href=\"#DejaVuSans-108\"/>\n",
       "      <use x=\"302.050781\" xlink:href=\"#DejaVuSans-101\"/>\n",
       "      <use x=\"363.574219\" xlink:href=\"#DejaVuSans-115\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "  </g>\n",
       " </g>\n",
       " <defs>\n",
       "  <clipPath id=\"pe7b50dbec5\">\n",
       "   <rect height=\"271.8\" width=\"304.363636\" x=\"42.264062\" y=\"7.2\"/>\n",
       "  </clipPath>\n",
       "  <clipPath id=\"p98369b5fb6\">\n",
       "   <rect height=\"271.8\" width=\"304.363636\" x=\"407.500426\" y=\"7.2\"/>\n",
       "  </clipPath>\n",
       " </defs>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "<Figure size 864x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 数据可视化\n",
    "\n",
    "%matplotlib inline\n",
    "%config InlineBackend.figure_format = 'svg'\n",
    "\n",
    "plt.figure(figsize = (12,5))\n",
    "ax1 = plt.subplot(121)\n",
    "ax1.scatter(X[:,0],Y[:,0], c = \"b\",label = \"samples\")\n",
    "ax1.legend()\n",
    "plt.xlabel(\"x1\")\n",
    "plt.ylabel(\"y\",rotation = 0)\n",
    "\n",
    "ax2 = plt.subplot(122)\n",
    "ax2.scatter(X[:,1],Y[:,0], c = \"g\",label = \"samples\")\n",
    "ax2.legend()\n",
    "plt.xlabel(\"x2\")\n",
    "plt.ylabel(\"y\",rotation = 0)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0cd9bb40",
   "metadata": {},
   "source": [
    "![](./data/3-2-线性回归数据可视化.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "d479e06e",
   "metadata": {},
   "outputs": [],
   "source": [
    "#构建输入数据管道\n",
    "ds = TensorDataset(X,Y)\n",
    "dl = DataLoader(ds,batch_size = 10,shuffle=True,\n",
    "                num_workers=2)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "57750fe9",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "251fb895",
   "metadata": {},
   "source": [
    "**2，定义模型**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "5917cd7d",
   "metadata": {},
   "outputs": [],
   "source": [
    "model = nn.Linear(2,1) #线性层\n",
    "\n",
    "model.loss_fn = nn.MSELoss()\n",
    "model.optimizer = torch.optim.SGD(model.parameters(),lr = 0.01)\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a47f3d1b",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "d3872f8e",
   "metadata": {},
   "source": [
    "**3，训练模型**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "155b5c6f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "112.17118072509766"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def train_step(model, features, labels):\n",
    "    \n",
    "    predictions = model(features)\n",
    "    loss = model.loss_fn(predictions,labels)\n",
    "    loss.backward()\n",
    "    model.optimizer.step()\n",
    "    model.optimizer.zero_grad() # 注意，新手常常遗忘该步骤\n",
    "    return loss.item()\n",
    "\n",
    "# 测试train_step效果\n",
    "features,labels = next(iter(dl))\n",
    "train_step(model,features,labels)\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "55a15196",
   "metadata": {},
   "source": [
    "```\n",
    "269.98016357421875\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "299926c5",
   "metadata": {},
   "outputs": [],
   "source": [
    "def train_model(model,epochs):\n",
    "    for epoch in range(1,epochs+1):\n",
    "        for features, labels in dl:\n",
    "            loss = train_step(model,features,labels)\n",
    "        if epoch%10==0:\n",
    "            printbar()\n",
    "            w = model.state_dict()[\"weight\"]\n",
    "            b = model.state_dict()[\"bias\"]\n",
    "            print(\"epoch =\",epoch,\"loss = \",loss)\n",
    "            print(\"w =\",w)\n",
    "            print(\"b =\",b)\n",
    "train_model(model,epochs = 50)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3827fd8c",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b8384a3b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 结果可视化\n",
    "\n",
    "%matplotlib inline\n",
    "%config InlineBackend.figure_format = 'svg'\n",
    "\n",
    "w,b = model.state_dict()[\"weight\"],model.state_dict()[\"bias\"]\n",
    "\n",
    "plt.figure(figsize = (12,5))\n",
    "ax1 = plt.subplot(121)\n",
    "ax1.scatter(X[:,0],Y[:,0], c = \"b\",label = \"samples\")\n",
    "ax1.plot(X[:,0],w[0,0]*X[:,0]+b[0],\"-r\",linewidth = 5.0,label = \"model\")\n",
    "ax1.legend()\n",
    "plt.xlabel(\"x1\")\n",
    "plt.ylabel(\"y\",rotation = 0)\n",
    "\n",
    "\n",
    "\n",
    "ax2 = plt.subplot(122)\n",
    "ax2.scatter(X[:,1],Y[:,0], c = \"g\",label = \"samples\")\n",
    "ax2.plot(X[:,1],w[0,1]*X[:,1]+b[0],\"-r\",linewidth = 5.0,label = \"model\")\n",
    "ax2.legend()\n",
    "plt.xlabel(\"x2\")\n",
    "plt.ylabel(\"y\",rotation = 0)\n",
    "\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3ba62788",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "6be03bd7",
   "metadata": {},
   "source": [
    "### 二， DNN二分类模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "93105316",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "7728a6a5",
   "metadata": {},
   "source": [
    "**1，准备数据**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a212c295",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np \n",
    "import pandas as pd \n",
    "from matplotlib import pyplot as plt\n",
    "import torch\n",
    "from torch import nn\n",
    "import torch.nn.functional as F\n",
    "from torch.utils.data import Dataset,DataLoader,TensorDataset\n",
    "%matplotlib inline\n",
    "%config InlineBackend.figure_format = 'svg'\n",
    "\n",
    "#正负样本数量\n",
    "n_positive,n_negative = 2000,2000\n",
    "\n",
    "#生成正样本, 小圆环分布\n",
    "r_p = 5.0 + torch.normal(0.0,1.0,size = [n_positive,1]) \n",
    "theta_p = 2*np.pi*torch.rand([n_positive,1])\n",
    "Xp = torch.cat([r_p*torch.cos(theta_p),r_p*torch.sin(theta_p)],axis = 1)\n",
    "Yp = torch.ones_like(r_p)\n",
    "\n",
    "#生成负样本, 大圆环分布\n",
    "r_n = 8.0 + torch.normal(0.0,1.0,size = [n_negative,1]) \n",
    "theta_n = 2*np.pi*torch.rand([n_negative,1])\n",
    "Xn = torch.cat([r_n*torch.cos(theta_n),r_n*torch.sin(theta_n)],axis = 1)\n",
    "Yn = torch.zeros_like(r_n)\n",
    "\n",
    "#汇总样本\n",
    "X = torch.cat([Xp,Xn],axis = 0)\n",
    "Y = torch.cat([Yp,Yn],axis = 0)\n",
    "\n",
    "\n",
    "#可视化\n",
    "plt.figure(figsize = (6,6))\n",
    "plt.scatter(Xp[:,0],Xp[:,1],c = \"r\")\n",
    "plt.scatter(Xn[:,0],Xn[:,1],c = \"g\")\n",
    "plt.legend([\"positive\",\"negative\"]);\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "98e6f048",
   "metadata": {},
   "outputs": [],
   "source": [
    "#构建输入数据管道\n",
    "ds = TensorDataset(X,Y)\n",
    "dl = DataLoader(ds,batch_size = 10,shuffle=True,num_workers=2)\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "93c70cd9",
   "metadata": {},
   "source": [
    "**2, 定义模型**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b5f8942c",
   "metadata": {},
   "outputs": [],
   "source": [
    "class DNNModel(nn.Module):\n",
    "    def __init__(self):\n",
    "        super(DNNModel, self).__init__()\n",
    "        self.fc1 = nn.Linear(2,4)\n",
    "        self.fc2 = nn.Linear(4,8) \n",
    "        self.fc3 = nn.Linear(8,1)\n",
    "\n",
    "    # 正向传播\n",
    "    def forward(self,x):\n",
    "        x = F.relu(self.fc1(x))\n",
    "        x = F.relu(self.fc2(x))\n",
    "        y = nn.Sigmoid()(self.fc3(x))\n",
    "        return y\n",
    "    \n",
    "    # 损失函数\n",
    "    def loss_fn(self,y_pred,y_true):\n",
    "        return nn.BCELoss()(y_pred,y_true)\n",
    "    \n",
    "    # 评估函数(准确率)\n",
    "    def metric_fn(self,y_pred,y_true):\n",
    "        y_pred = torch.where(y_pred>0.5,torch.ones_like(y_pred,dtype = torch.float32),\n",
    "                          torch.zeros_like(y_pred,dtype = torch.float32))\n",
    "        acc = torch.mean(1-torch.abs(y_true-y_pred))\n",
    "        return acc\n",
    "    \n",
    "    # 优化器\n",
    "    @property\n",
    "    def optimizer(self):\n",
    "        return torch.optim.Adam(self.parameters(),lr = 0.001)\n",
    "    \n",
    "model = DNNModel()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a9bf0327",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 测试模型结构\n",
    "(features,labels) = next(iter(dl))\n",
    "predictions = model(features)\n",
    "\n",
    "loss = model.loss_fn(predictions,labels)\n",
    "metric = model.metric_fn(predictions,labels)\n",
    "\n",
    "print(\"init loss:\",loss.item())\n",
    "print(\"init metric:\",metric.item())\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8d0c96de",
   "metadata": {},
   "source": [
    "```\n",
    "init loss: 0.7065666913986206\n",
    "init metric: 0.6000000238418579\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9d2c094c",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "45c684f7",
   "metadata": {},
   "source": [
    "**3，训练模型**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6c69fa16",
   "metadata": {},
   "outputs": [],
   "source": [
    "def train_step(model, features, labels):\n",
    "    \n",
    "    # 正向传播求损失\n",
    "    predictions = model(features)\n",
    "    loss = model.loss_fn(predictions,labels)\n",
    "    metric = model.metric_fn(predictions,labels)\n",
    "    \n",
    "    # 反向传播求梯度\n",
    "    loss.backward()\n",
    "    \n",
    "    # 更新模型参数\n",
    "    model.optimizer.step()\n",
    "    model.optimizer.zero_grad()\n",
    "    \n",
    "    return loss.item(),metric.item()\n",
    "\n",
    "# 测试train_step效果\n",
    "features,labels = next(iter(dl))\n",
    "train_step(model,features,labels)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8f4680af",
   "metadata": {},
   "source": [
    "```\n",
    "(0.6048880815505981, 0.699999988079071)\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9d2aac2d",
   "metadata": {},
   "outputs": [],
   "source": [
    "def train_model(model,epochs):\n",
    "    for epoch in range(1,epochs+1):\n",
    "        loss_list,metric_list = [],[]\n",
    "        for features, labels in dl:\n",
    "            lossi,metrici = train_step(model,features,labels)\n",
    "            loss_list.append(lossi)\n",
    "            metric_list.append(metrici)\n",
    "        loss = np.mean(loss_list)\n",
    "        metric = np.mean(metric_list)\n",
    "\n",
    "        if epoch%10==0:\n",
    "            printbar()\n",
    "            print(\"epoch =\",epoch,\"loss = \",loss,\"metric = \",metric)\n",
    "        \n",
    "train_model(model,epochs = 50)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8848ce54",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c7a7878a",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 结果可视化\n",
    "fig, (ax1,ax2) = plt.subplots(nrows=1,ncols=2,figsize = (12,5))\n",
    "ax1.scatter(Xp[:,0],Xp[:,1], c=\"r\")\n",
    "ax1.scatter(Xn[:,0],Xn[:,1],c = \"g\")\n",
    "ax1.legend([\"positive\",\"negative\"]);\n",
    "ax1.set_title(\"y_true\");\n",
    "\n",
    "Xp_pred = X[torch.squeeze(model.forward(X)>=0.5)]\n",
    "Xn_pred = X[torch.squeeze(model.forward(X)<0.5)]\n",
    "\n",
    "ax2.scatter(Xp_pred[:,0],Xp_pred[:,1],c = \"r\")\n",
    "ax2.scatter(Xn_pred[:,0],Xn_pred[:,1],c = \"g\")\n",
    "ax2.legend([\"positive\",\"negative\"]);\n",
    "ax2.set_title(\"y_pred\");\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "49539672",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "f48b1e02",
   "metadata": {},
   "source": [
    "**如果本书对你有所帮助，想鼓励一下作者，记得给本项目加一颗星星star⭐️，并分享给你的朋友们喔😊!** \n",
    "\n",
    "如果对本书内容理解上有需要进一步和作者交流的地方，欢迎在公众号\"算法美食屋\"下留言。作者时间和精力有限，会酌情予以回复。\n",
    "\n",
    "也可以在公众号后台回复关键字：**加群**，加入读者交流群和大家讨论。\n",
    "\n",
    "![算法美食屋logo.png](https://tva1.sinaimg.cn/large/e6c9d24egy1h41m2zugguj20k00b9q46.jpg)"
   ]
  }
 ],
 "metadata": {
  "jupytext": {
   "cell_metadata_filter": "-all",
   "main_language": "python"
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
